[Javascript] document.forms[0].submit(); [résolu]

.submit(); [résolu] [Javascript] document.forms[0] - HTML/CSS - Programmation

Marsh Posté le 12-12-2006 à 10:28:01    

 

[Résolu] Merci Gatsu35

  


Citation :

   

Non c'est simplement qu'il a un de ses éléments qui se nomme submit  :/  
donc quand tu fais : monform.submit() en fait submit n'est plus une fonction mais le bouton submit en question.

 

il faut renommer le input submit avec un autre nom

 

Petites précisions:

 


 

Citation :

 

rufo a écrit :

  

tiens, je pensais pas que ça pouvait jouer, ça. Le parseur Javascript devrait pourtant faire la différence entre monform.submit.value (par ex) et monform.submit() (là, c'est la fonction du fait des parenthèses).

 


 

Citation :

  

C'est surtout IE qui merde, FF ne pose pas de soucis à ce sujet

  


Salut,

 

j'ai beau essayé de plusieurs manière je n'arrive pas a "submit" mon formulaire automatiquement dans un code javascript:

 

normalement on utilise:

 

document.nom_formulaire.submit();

 

j'ai donc essayé:

  


 

Code :
  1. //document.forms[0].submit();
  2. //document.forms["forsec"].submit(); //forsec etant le nom de mon formulaire
  3. document.forsec.submit(); //forsec etant le nom de mon formulaire
  4. //submit();
  5. //submit(document.forsec);
  6. //submit(document.forms[0]);
  7. //submit(document.forms["forsec"]);
  8. //document.forsec.submit(document.forsec);
  9. //etc..
  

mais cela crée une "Erreur sur la page" et le formulaire ne s'envoit pas..

 

Pourtant j'ai suivi la documentation

 

est-du à la nouvelle version de ie ?


Message édité par Profil supprimé le 12-12-2006 à 22:16:41
Reply

Marsh Posté le 12-12-2006 à 10:28:01   

Reply

Marsh Posté le 12-12-2006 à 10:30:11    

:??:  
 
Par contre  
 
document.forsec.reset();  fonctionne bien
 
 :??:  

Reply

Marsh Posté le 12-12-2006 à 10:31:56    

s'koi le code de ta page ?

Reply

Marsh Posté le 12-12-2006 à 10:32:56    

 

Code :
  1. <script language="javascript" type="text/javascript">
  2. //VARIABLES//
  3. var loop;
  4. loop=1;
  5. var seconde;
  6. seconde=3;
  7. //////////////////////////////////////////////////////////////
  8. //FONCTION QUI SE REPETE TOUTES LES SECONDES//
  9. function chrono(maxi){
  10. var maxim;
  11. maxim=maxi;
  12. //NE SE REPETE Qu'une FOIS
  13. if (loop==1)
  14. {
  15. var a;
  16. document.forsec.reponse.focus();
  17. a=parseInt( (Math.random()*maxim) +1 );
  18. b=parseInt( (Math.random()*maxim) +1 );
  19. document.forsec.valeur1.value=a;
  20. document.forsec.valeur2.value=b;
  21. loop=0;
  22. }
  23. seconde--;
  24. document.forsec.seca.value=" "+seconde //on affiche les secondes
  25. if (seconde==0)
  26. {
  27. //var numa;
  28. //var numb;
  29. //var result;
  30. //numa=document.forsec.valeur1.value;
  31. //numb=document.forsec.valeur2.value;
  32. //result=document.forsec.reponse.value;
  33. //document.location.href='resultat.php?numa='+numa+'&numb='+numb+'&result='+result;
  34. document.forsec.submit(); //ENVOIE FORMULAIRE
  35. }
  36. setTimeout('chrono()',1000) //la fonction est relancée tous les 10° de secondes
  37. }
  38. //FONCTION QUI SE REPETE TOUTES LES SECONDES//
  39. ////////////////////////////////////////////////////////////
  40. </script>


 
 


Message édité par Profil supprimé le 12-12-2006 à 10:35:38
Reply

Marsh Posté le 12-12-2006 à 11:03:52    

on peut avoir le code html de ton formulaire aussi, svp?

Reply

Marsh Posté le 12-12-2006 à 11:08:32    

Code :
  1. <form name="forsec" method="post" action="resultat.php">
  2. <input type="hidden" name="operande" value="<? echo $operande; ?>">
  3. <input type="hidden" name="code" value="<? echo $code; ?>">
  4. <input type="hidden" name="niveau" value="<? echo $niveau; ?>">
  5. <p>&nbsp;</p>
  6. <table width="410" border="0" cellspacing="0">
  7. <tr bgcolor="#006600">
  8. <td width="10" height="5" bgcolor="#006600">&nbsp;</td>
  9. <td width="10" height="5" bgcolor="#009966">&nbsp;</td>
  10. <td width="10" height="5" bgcolor="#009966">&nbsp;</td>
  11. <td width="11" height="5" bgcolor="#009966">&nbsp;</td>
  12. <td width="9" height="5" bgcolor="#009966">&nbsp;</td>
  13. <td width="10" height="5" bgcolor="#009966">&nbsp;</td>
  14. <td width="10" height="5" bgcolor="#009966">&nbsp;</td>
  15. <td width="10" height="5" bgcolor="#009966">&nbsp;</td>
  16. <td width="13" height="5">&nbsp;</td>
  17. </tr>
  18. <tr bgcolor="#FFFFFF">
  19. <td width="10" bgcolor="#009966">&nbsp;</td>
  20. <td colspan="7" rowspan="2" bgcolor="#FFFFFF"><div align="center">
  21. <h2>Temps restants</h2>
  22. </div> <div align="center">
  23. <p>
  24. <input name="seca" type="text" class="tt_texte" id="tt_texte" size="8" maxlength="4" readonly="true">
  25. </p>
  26. <hr>
  27. </div></td>
  28. <td width="13" bgcolor="#009966">&nbsp;</td>
  29. </tr>
  30. <tr bordercolor="#ECE9D8" bgcolor="#FFFFFF">
  31. <td bgcolor="#009966">&nbsp;</td>
  32. <td bgcolor="#009966">&nbsp;</td>
  33. </tr>
  34. </table>
  35. <table width="410" border="0" cellspacing="0">
  36. <tr bgcolor="#FFFFFF">
  37. <td width="10" bgcolor="#009966">&nbsp;</td>
  38. <td colspan="7" rowspan="2" bgcolor="#FFFFFF"><div align="center">
  39. <h2>Calculer</h2>
  40. <table width="100%" border="0">
  41. <tr>
  42. <td align="center"><input name="valeur1" type="text" value="" size="8" maxlength="4" readonly="true"></td>
  43. <td align="center">
  44. <?
  45. if ($operande=="add" ) echo "+";
  46. if ($operande=="sous" ) echo "-";
  47. if ($operande=="multi" ) echo "*";
  48. if ($operande=="divi" ) echo "/";
  49. ?>
  50. </td>
  51. <td align="center"><input name="valeur2" type="text" value="" size="8" maxlength="4" readonly="true"></td>
  52. </tr>
  53. </table>
  54. <h2>Votre r&eacute;ponse</h2>
  55. <p><input type="text" name="reponse"></p>
  56. <h2> <input name="submit" type="submit" value="Valider">
  57. </h2>
  58. <p>&nbsp;</p>
  59. </div>
  60. </td>
  61. <td width="13" bgcolor="#009966">&nbsp;</td>
  62. </tr>
  63. <tr bordercolor="#ECE9D8" bgcolor="#FFFFFF">
  64. <td bgcolor="#009966">&nbsp;</td>
  65. <td bgcolor="#009966">&nbsp;</td>
  66. </tr>
  67. <tr bordercolor="#ECE9D8" bgcolor="#006600">
  68. <td width="10" height="5" bgcolor="#006600">&nbsp;</td>
  69. <td width="10" height="5" bgcolor="#009966">&nbsp;</td>
  70. <td width="10" height="5" bgcolor="#009966">&nbsp;</td>
  71. <td width="11" height="5" bgcolor="#009966">&nbsp;</td>
  72. <td width="9" height="5" bgcolor="#009966">&nbsp;</td>
  73. <td width="10" height="5" bgcolor="#009966">&nbsp;</td>
  74. <td width="10" height="5" bgcolor="#009966">&nbsp;</td>
  75. <td width="10" height="5" bgcolor="#009966">&nbsp;</td>
  76. <td width="13" height="5" bgcolor="#006600">&nbsp;</td>
  77. </tr>
  78. </table>
  79. <p>&nbsp; </p>
  80. </form>
 

Ca fait un peu bordel le code pour le tableau desolé.


Message édité par Profil supprimé le 12-12-2006 à 11:10:34
Reply

Marsh Posté le 12-12-2006 à 11:13:05    

Perso, j'utilise :
document.forms["forsec"].submit();
document.forms[0].submit();
 
les 2 marchent très bien...
 
à mon avis, si ça marche pas, c'est que tu dois avoir une erreur javascript avant qui bloque l'exécution de la fin de ton script...

Reply

Marsh Posté le 12-12-2006 à 11:30:35    

Merci pour ton test,
 
je vais voir un peu de plus pres le code javascript

Reply

Marsh Posté le 12-12-2006 à 11:30:36    

Non c'est simplement qu'il a un de ses éléments qui se nomme submit :/
donc quand tu fais : monform.submit() en fait submit n'est plus une fonction mais le bouton submit en question.
 
il faut renommer le input submit avec un autre nom

Reply

Marsh Posté le 12-12-2006 à 11:31:09    

gatsu35 a écrit :

Non c'est simplement qu'il a un de ses éléments qui se nomme submit  :/
donc quand tu fais : monform.submit() en fait submit n'est plus une fonction mais le bouton submit en question.

 

il faut renommer le input submit avec un autre nom

 


Oh, bien vu, en effet c'est logique... !  :whistle:  
 
Merci  :ouch:

Reply

Marsh Posté le 12-12-2006 à 11:31:09   

Reply

Marsh Posté le 12-12-2006 à 11:39:20    

tiens, je pensais pas que ça pouvait jouer, ça. Le parseur Javascript devrait pourtant faire la différence entre monform.submit.value (par ex) et monform.submit() (là, c'est la fonction du fait des parenthèses).

Reply

Marsh Posté le 12-12-2006 à 12:06:09    

rufo a écrit :

tiens, je pensais pas que ça pouvait jouer, ça. Le parseur Javascript devrait pourtant faire la différence entre monform.submit.value (par ex) et monform.submit() (là, c'est la fonction du fait des parenthèses).


C'est surtout IE qui merde, FF ne pose pas de soucis à ce sujet

Reply

Marsh Posté le 12-12-2006 à 22:14:32    

Merci pour les précisions.  :jap:


Message édité par Profil supprimé le 12-12-2006 à 22:14:43
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed