begin process at 2012 05 29 14:04:44
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Javascript / DHTML / Ajax

 > 

JavaScript et le navigateur

 > 

Autre

 > 

Modification d'une action de formulaire en js.


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Modification d'une action de formulaire en js.

jeudi 12 février 2009 à 15:39:11 | Modification d'une action de formulaire en js.

MattBPA

Bonjour.

J'essaie depuis plusieurs heures à modifier l'action de mon formulaire en javascript et je commence à déprimer.
Tout à l'air pourtant bien simple mais ça ne fonctionne pas et je ne comprends pas pourquoi.

Voilà en gros la situation :

J'ai un menu déroulant contenant une liste de nom, suivi d'un module fancy upload (ce qui explique pourquoi je dois me galérer à passer par l'action du formulaire, les autres variables ne passent pas).

Afin de passer la valeur du menu déroulant dans l'action du formulaire, j'ai placé un onChange dans le menu qui appelle une fonction :

<select id="id_dest" name="id_dest" onChange="GetDest();">

Et voici la fonction GetDest :

function GetDest()
{
 var pseudo=document.getElementById('id_dest').value;
 document.getElementById('form-demo').action='bcv-scripts/upload.php?pseudo='+pseudo;
 alert(document.getElementById('form-demo').action);
}

Là où je perds le fil, c'est que l'alert indique la bonne valeur, mais l'action de formulaire ne change pas. Donc si pouviez m'aiguiller ce serait cool merci
jeudi 12 février 2009 à 15:46:59 | Re : Modification d'une action de formulaire en js.

Bul3

Membre Club
bonjour,

>> c'est que l'alert indique la bonne valeur
>> mais l'action de formulaire ne change pas
comme tu affiches l'action du formulaire, c'est que c'est bien modifié !

aucune raisons que cela ne fonctionne pas...
sauf contenu bizarre de pseudo, mauvais traitement dans upload.php...
ou autre

bref, l'erreur doit être ailleurs

Cordialement
[mon Site][M'écrire]Bul

jeudi 12 février 2009 à 15:51:19 | Re : Modification d'une action de formulaire en js.

MattBPA

Merci pour ta réponse rapide.

Je suis d'accord avec toi, il n'y a aucune raison que ça ne fonctionne pas, c'est pour ça que je poste ici dès fois que quelqu'un ait déjà eu ce problème

contenu bizarre de pseudo : impossible puisqu'avant l'affichage dans le menu déroulant, je passe les caractères en minuscule et remplace tous les caractères spéciaux en php.
mauvais traitement dans upload.php : non plus car je vérifie dans le code source avant l'envoi du formulaire et l'action n'a pas changé. l'upload.php n'est donc pas intervenu.

Je continue à chercher snif...
jeudi 12 février 2009 à 16:11:36 | Re : Modification d'une action de formulaire en js.

MattBPA

J'ai oublié de préciser qu'aucune erreur ne s'affiche dans la console d'erreur de FF.

Alors deuxième chose incomprehensible : lorsque je regarde la source, l'action du formulaire ne change pas. En revanche quand je sélectionne mon formulaire sur mon navigateur et que je fais "afficher le code source de la sélection", l'action du formulaire a bien été modifié...

Je nage complètement là...

jeudi 12 février 2009 à 16:11:47 | Re : Modification d'une action de formulaire en js.

Bul3

Membre Club

donc , l'erreur doit être ailleurs

<body>
    <form name="frm"
            onsubmit="this.action='javascript:alert(\'ok\');';">
        <input type="submit" />
    </form>
</body>

puisque ça, bien entendu tout simple, ça baigne
mais bon... on ne doit pas avoir assez de billes

>>et remplace tous les caractères spéciaux en php.
??? en php ? on est coté client là ?

>>mauvais traitement dans upload.php : non plus
bah... il ne doit pas être appelé d'après ce que tu dis.

>>avant l'envoi du formulaire et l'action n'a pas changé
or tu nous dis bien afficher dans l'alert !
donc, contradiction !
formulaire bien soumis, et page rechargée par exemple...


[mon Site][M'écrire]Bul

jeudi 12 février 2009 à 16:28:36 | Re : Modification d'une action de formulaire en js.

MattBPA

Bon j'ai testé sur une page  vierge, sans rien pour faire interférence :


<head>
   <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
   <title>Test JS</title>
   <script type="text/javascript">
   <!--
      function GetDest() {
         var pseudo=document.getElementById('id_dest').value;
         document.getElementById('form_pseudo').action='bcv-scripts/upload.php?pseudo='+pseudo;
         alert(document.getElementById('form_pseudo').action);
      }
   //-->
   </script>
</head>

<body>
<form id="form_pseudo" name="form_pseudo" method="post" action="upload.php?pseudo=0">
  <select name="id_dest" id="id_dest" onchange="GetDest();">
  <option value="1">Pseudo 01</option>
  <option value="2">Pseudo 02</option>
  <option value="3">Pseudo 03</option>
  </select>
</form>
</body>

Donc :

- Pas de validation de formulaire.
- Pas de problème au niveau de la valeur du pseudo, ce sont des int.
- Pas de script parasite, l'erreur vient bien du js

=> Au changement de donnée dans le menu déroulant, le message d'alerte affiche correctement : upload.php?pseudo=x
=> Sur Firefox, lorsque je fais : Code source de la page, j'ai toujours : <form id="form_pseudo" name="form_pseudo" method="post" action="upload.php?pseudo=0">
=> Lorsque je sélectionne mon menu et que je fais Code source de la sélection j'ai bien  : <form id="form_pseudo" name="form_pseudo" method="post" action="upload.php?pseudo=x">
jeudi 12 février 2009 à 17:24:23 | Re : Modification d'une action de formulaire en js.

MattBPA

Réponse acceptée !

Donc quelqu'un m'a renseigné sur le pourquoi du comment les différents codes sources :

Bonjour, le code source de la sélection te donne en théorie le code de ta page qui a été modifié en JS (s'il a été modifié). Alors que "Afficher le code source" te donne le code d'origine, non modifié, tel que le serveur te l'a envoyé.

En effet après avoir rajouté un submit dans mon script ci-dessus, il marche bien.

Le problème n'est pas résolu pour moi dans le sens où l'upload ne se fait pas où je veux mais ce n'est plus le sujet.

Merci Bul3 de m'avoir aidé. Tu avais raison dès le début en fait, mais je ne connaissais pas cette subtilité du code source et je me suis focalisé dessus.

Bye



Cette discussion est classée dans : menu, formulaire, action, pseudo, document


Répondre à ce message

Sujets en rapport avec ce message

Je ne comprends pas [ par Robbie ] Salut, j'ai un formulaire dans ce formulaire j'ai une liste déroulante : avec function liste_changee(){ document.formulaire.metho Faire varier l'url d'envoi dans "action" d'un formulaire [ par louloute8091 ] Bonjoutr Je suis en train de faire une bannière avec un menu déroulant. Chaque valeur de ce menu doit pointer vers une url différente quand on cliqu Date system [ par lolla19_116 ] Bonjour tout le monde, mon probleme c que je veux faire une teste sur un champ de date, donc je veux quant je saisi une date et je clik sur le bouton probleme avec document.writ() [ par neolin85 ] Bonsoir à tous,Je souhaite construire un menu horizontal sauf que j'ai un soucis avec la méthode write de la classe document.En fait, chaque fois que empêcher l'exécution de l'action d'un formulaire [ par kawther84 ] je veux savoir la fonction javascript qui me permet d'empêcher le passage à l'exécution de l'action du formulaire, en effet j'ai une fonction php pour menu dynamique suite [ par drsnugle ] voici le code source en question :testColor0M  = '# envoi formulaire xmlhttprequest [ par shadow1779 ] Bonjour,j'essai de faire vérifier le contenu d'un formulaire avec xmlhttprequest mais ce coup ci j'ai une petite erreur que je n'arrive pas a comprend Généraliser une action sur une page entière [ par porciner ] Bonjour,Lorsque je crée un formulaire, j'ajoute toujours ce morceau de javascript dans la balise :onSubmit="post.disabled='true';"Ceci permet au bout trop de scripts? [ par arnaultp ] Bonjour à tous!J'ai ajouté un nouveau script à ma superbe page html ce matin. Et depuis, j'ai un de mes scripts qui ne marche plus :/Et j'ai beau cher fonction pour afficher ou chacher mon menu [ par chapata ] Hello ,je galère sur une fonction que j'ai crée, rien de méchant mais plutot un problème sur le nombre de sous menu :j'ai un menu du style :<br


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,562 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales