Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1506 connectés 

  FORUM HardWare.fr
  Programmation
  HTML/CSS

  Javascript : une variable qui passe pas sur FF ... bizarre !!!

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Javascript : une variable qui passe pas sur FF ... bizarre !!!

n°1436616
freed102
Arayashiki
Posté le 05-09-2006 à 11:11:38  profilanswer
 

Je ne comprends pas... sur IE ya aucun probleme... tout marche nickel, mes variables passent toutes... et PHP les mémorise sans probleme...
sur FF.. j'ai une variable qui ne passe pas ! la variable email... elle s'affiche dans mon champs hidden mais disparait aussitot ! donc ça ne passe pas !!
 
voici mon bout de code :
 

Code :
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
  5. <script type="text/javascript">
  6. var msg="";
  7. function checkMail(xmail)
  8. {
  9. var x = xmail;
  10. var filter  = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
  11. if (filter.test(x))
  12. {
  13. return true;
  14. }
  15. else
  16. {
  17. return false;
  18. }
  19. }
  20. function fillHiddenField(field,val)
  21. {
  22. document.getElementById(field).value=val;
  23. document.getElementById("et1" ).submit();
  24. }
  25.   function sendMail()
  26.   {
  27.   if(document.getElementById('nom').value!="" )
  28.   {
  29.   fillHiddenField('_nom',document.getElementById('nom').value);
  30.   var nom_ok=true;
  31.   }
  32.   else
  33.   {
  34.   msg+="Le champ \"Nom\" doit être saisi.\n";
  35.   }
  36.  
  37.   if(document.getElementById('email').value!="" )
  38.   {
  39.   fillHiddenField('_email',document.getElementById('email').value);
  40.   if(checkMail(document.getElementById('email').value))
  41.   {
  42.   var mail_ok=true;
  43.   }
  44.   else
  45.   {
  46.   msg+="Email invalide"
  47.   }
  48.  
  49.   }else
  50.   {
  51.  msg+="Le champ \"Email\" doit être saisi.\n";
  52.   }
  53.  
  54.   if(mail_ok==true && nom_ok==true)
  55.   {
  56.   //document.getElementById('_sendmail').value="ok";
  57.   fillHiddenField('_sendmail',"ok" );
  58.  
  59.   }
  60.   else
  61.   {
  62.   alert(msg);
  63.   return false;
  64.   }
  65.   }
  66. </script>
  67. <title>Simulation des co&ucirc;ts</title>
  68. </head>
  69. <body>
  70. <form name="et1" id="et1" action="/mavic_mp3/simul_cout.php" method="POST">
  71. <p><b>Roues : </b> REAR<br />
  72.  <b>Millesime : </b> 2007<br />
  73.  <b>Modele : </b> MTB - CROSSMAX ST<br />
  74.    </p>
  75. <table width="400" border="0">
  76.   <tr>
  77.     <td bgcolor="#CCCCCC">Simulation du co&ucirc;t du programme </td>
  78.   </tr>
  79.   <tr>
  80.     <td>
  81.   <p>Tarif MP3 pour
  82.     MTB - CROSSMAX ST     <br />
  83.     Roue avant : 22 €<br />Roue arrière : 27 €<br />Paire : 48 €<br />     </p></td>
  84.   </tr>
  85.   <tr>
  86.     <td bgcolor="#CCCCCC"><p>Recevoir/Envoyer par mail : </p>
  87.  
  88.       <table width="100%" border="0">
  89.         <tr>
  90.           <td>Nom de l'envoyeur : </td>
  91.           <td><input type="text" name="nom" id="nom" value=""/></td>
  92.         </tr>
  93.         <tr>
  94.           <td>Email : </td>
  95.           <td><input type="text" name="email" id="email" value=""/></td>
  96.         </tr>
  97.         <tr>
  98.           <td>Message : </td>
  99.           <td><textarea name="texte_libre" id="texte_libre"></textarea></td>
  100.         </tr>
  101.         <tr>
  102.           <td>&nbsp;</td>
  103.           <td><input type="button" name="send"  id="send" value="Envoyer" onclick="sendMail();" /></td>
  104.         </tr>
  105.       </table>
  106.       <p>
  107.         <label></label>
  108.       </p>
  109.    
  110.     <p>&nbsp; </p></td>
  111.   </tr>
  112. </table>
  113.     <table>
  114.       <tr>
  115.         <td colspan="2">Mon Produit</td>
  116.       </tr>
  117.       <tr>
  118.         <td>Roues achet&eacute;es : </td>
  119.         <td><select name="roue" onChange="fillHiddenField('_roue',this.value);return false;">
  120.             <option value=""></option>
  121.             <option value="FRT">FRT</option><option value="REAR" selected="selected">REAR</option><option value="PR">PR</option>          </select>        </td>
  122.       </tr>
  123.       <tr>
  124.         <td>Gamme concern&eacute;e : </td>
  125.         <td><select name="millesime" onChange="fillHiddenField('_millesime',this.value);return false;">
  126.             <option value="">Choisir parmi les gammes</option>
  127.             <option value='2007' selected="selected" >2007</option>          </select>        </td>
  128.       </tr>
  129.       <tr>
  130.         <td>Mod&egrave;le concern&eacute;e : </td>
  131.         <td><select name="modele" onChange="fillHiddenField('_modele',this.value);return false;">
  132.             <option value="">Choisir parmi les mod&egrave;les</option>
  133.             <option value="ROAD - COSMIC CARBONE PRO">ROAD - COSMIC CARBONE PRO</option><option value="ROAD - COMETE">ROAD - COMETE</option><option value="ROAD - COSMIC CARBONE SL PREMIUM">ROAD - COSMIC CARBONE SL PREMIUM</option><option value="ROAD - COSMIC CARBONE SL">ROAD - COSMIC CARBONE SL</option><option value="ROAD - COSMIC ELITE">ROAD - COSMIC ELITE</option><option value="ROAD - KSYRIUM ES">ROAD - KSYRIUM ES</option><option value="ROAD - KSYRIUM SL">ROAD - KSYRIUM SL</option><option value="ROAD - KSYRIUM ELITE Black">ROAD - KSYRIUM ELITE Black</option><option value="ROAD - KSYRIUM ELITE Silver">ROAD - KSYRIUM ELITE Silver</option><option value="ROAD - KSYRIUM EQUIPE Black">ROAD - KSYRIUM EQUIPE Black</option><option value="ROAD - KSYRIUM EQUIPE Silver">ROAD - KSYRIUM EQUIPE Silver</option><option value="ROAD - AKSIUM Silver">ROAD - AKSIUM Silver</option><option value="ROAD - AKSIUM Black">ROAD - AKSIUM Black</option><option value="MTB - CROSSMAX SLR">MTB - CROSSMAX SLR</option><option value="MTB - CROSSMAX  SLR DISC">MTB - CROSSMAX  SLR DISC</option><option value="MTB - CROSSMAX  SLR DISC Lefty">MTB - CROSSMAX  SLR DISC Lefty</option><option value="MTB - CROSSMAX SL DISC">MTB - CROSSMAX SL DISC</option><option value="MTB - CROSSMAX ST" selected>MTB - CROSSMAX ST</option><option value="MTB - CROSSMAX ST DISC">MTB - CROSSMAX ST DISC</option><option value="MTB - CROSSTRAIL">MTB - CROSSTRAIL</option><option value="MTB - CROSSTRAIL DISC">MTB - CROSSTRAIL DISC</option><option value="MTB - CROSSLAND Silver">MTB - CROSSLAND Silver</option><option value="MTB - CROSSLAND Black">MTB - CROSSLAND Black</option><option value="MTB - CROSSRIDE Silver">MTB - CROSSRIDE Silver</option><option value="MTB - CROSSRIDE Black">MTB - CROSSRIDE Black</option><option value="MTB - CROSSRIDE DISC">MTB - CROSSRIDE DISC</option><option value="MTB - CROSSMAX SX">MTB - CROSSMAX SX</option><option value="MTB - DEEMAX UST">MTB - DEEMAX UST</option><option value="MTB - DEEMAX 12x150">MTB - DEEMAX 12x150</option><option value="MTB - DEETRAKS">MTB - DEETRAKS</option><option value="ASPHALT - SPEEDCITY">ASPHALT - SPEEDCITY</option><option value="TRACK - ROUE IO PISTE">TRACK - ROUE IO PISTE</option><option value="TRACK - COMETE PISTE BOYAU">TRACK - COMETE PISTE BOYAU</option><option value="TRACK - ELLIPSE">TRACK - ELLIPSE</option>          </select>        </td>
  134.       </tr>
  135.       <tr>
  136.         <td>
  137.           <input type="hidden" name="_roue" id="_roue" value="REAR"/>
  138.    <input type="hidden" name="_millesime" id="_millesime" value="2007"/>
  139.    <input type="hidden" name="_modele" id="_modele" value="MTB - CROSSMAX ST"/>
  140.       <input type="hidden" name="_nom" id="_nom" value=""/>
  141.        <input type="hidden" name="_email" id="_email" value=""/>
  142.      <input type="hidden" name="_sendmail" id="_sendmail" value=""/>        </td>
  143.         <td>
  144.           <input type="submit" name="envoi" value="Envoyer">       </td>
  145.       </tr>
  146.     </table>
  147. </form>
  148. </body>
  149. </html>

mood
Publicité
Posté le 05-09-2006 à 11:11:38  profilanswer
 

n°1436670
freed102
Arayashiki
Posté le 05-09-2006 à 11:52:50  profilanswer
 

j'ai reussit à corriger le truc mais ça repond pas vraiment à la question du pourquoi du comment.... mais voila ce que j'ai fait, j'ai remplacé le input type="button" par un input type="submit" ... je comprends pas parceque ça marchait avec tous les champs sauf celui là !
 
ya t il des choses importantes à savoir à propos de la fonction submit en javascript ?
 
j'ai souvent utilisé document.getElementById("form" ).submit();
 
en général ça marche tres bien ! sauf sur mac... et là dans FF... je commence à douter de cette fonction !

n°1436694
gorfou
Posté le 05-09-2006 à 12:41:30  profilanswer
 

Selon ce site : http://www.commentcamarche.net/html/htmlform.php3
en javascript le type "button" n'existe pas pour la balise INPUT.
C'est peut etre du JScript

n°1436776
Bidem
Posté le 05-09-2006 à 14:20:20  profilanswer
 

Le type "button" existe bien pour un input.
 
La différence par rapport à un "submit", c'est que c'est un bouton qui ne déclanche pas la soumission du formulaire.

n°1436788
Bidem
Posté le 05-09-2006 à 14:26:43  profilanswer
 

PS : c'est quoi l'intérêt de dupliquer les éléments envoyés par la requête ?
 
nom et _nom
roue et _roue
...
 
Et c'est quoi la différence pour toi entre les boutons "send" et "envoi"

n°1436985
freed102
Arayashiki
Posté le 05-09-2006 à 17:40:33  profilanswer
 

tout simplement parceque je me suis calqué sur un truc deja existant, et que je voulais que le formulaire s'envoit au moment ou un parametre est changé et pas quand on clique sur "envoyer" bref je sais c pas génial ! mais c t deja fait un peu comme ça !
 
pour le bouton send et envoi... au debut je voulais deux formulaires différents un pour la partie email et un autre pour la partie requetes/contenu... au final j'ai fait un seul et unique formulaire


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  HTML/CSS

  Javascript : une variable qui passe pas sur FF ... bizarre !!!

 

Sujets relatifs
[JS] executer un javascript quand on reactualise la page[javascript] remplir un champ automatiquement
[HTML et javascript] Affichage d'images à tour de rôlevariable Substitutée en dos
[javascript] Commande smtp pour envoyer un mailCompte a rebour rafraichi en Javascript
[c++]Détecter la modification de la valeur d'une variablealternative à des fonctions javascript
[JavaScript] Liste dynamique dans un formulaire SELECTssh sans mot de passe
Plus de sujets relatifs à : Javascript : une variable qui passe pas sur FF ... bizarre !!!


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR