11548 sujets

JavaScript, DOM et API Web HTML5

Bonjour.

Cela fait plusieurs heures que je bloque sur ce bug apparement anodin... C'est pourquoi je me décide à venire quémander l'aide des spécialistes Smiley lol

Mon but est tout simple : en fonction d'une sélection dans une menu déroulant : modifier l'action d'un formulaire. J'ai fait un code dans une page complexe qui ne fonctionnait pas, donc j'en ai refait dans une page tout ce qu'il y a de plus basique pour voir si un autre script ne faisait pas interférence. Il s'est avéré que non.

Voici le code de la page basique :

<html>
<head>
   <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> 
</html>


Logiquement, lorsque je sélectionne Pseudo 02 dans le menu par exemple, l'action du formualaire devrait se modifier en "upload.php?pseudo=2"

Or quand je sélectionne pseudo 02 et que je fais : Code source de la page, j'obtiens :



<form id="form_pseudo" name="form_pseudo" method="post" action="upload.php?pseudo=0">



Là où ça devient franchement incomprehensible (du moins pour moi), c'est que lorsque je sélectionne ma liste déroulante dans le navigateur et que je fais : Code source de la sélection, j'obtiens :



<form id="form_pseudo" name="form_pseudo" method="post" action="upload.php?pseudo=2">



Si quelqu'un pouvait m'éclairer parce que là je nage complètement Smiley ohwell

Merci.
Modifié par MattBPA (12 Feb 2009 - 17:31)
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é.
Bonjour.

Merci beaucoup, je ne connaissais pas cette subtilité dans les différents affichages du code source. En effet après avoir validé le formulaire, il redirige bien aux bons endroits, malgré ce qui est indiqué dans le source.

Bon ça ne marche pas comme je voudrais de mon coté, mais ce n'est plus le sujet du topic. Je me donne donc jusqu'à demain et j'en créerai un nouveau si je sèche encore Smiley smile

Merci encore. Smiley ravi