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

  FORUM HardWare.fr
  Programmation
  HTML/CSS

  appel de deux fonctions javascript dans un onsubmit

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

appel de deux fonctions javascript dans un onsubmit

n°1742278
filoulebau​ju
Posté le 05-06-2008 à 23:25:09  profilanswer
 

Bonsoir,
 
J'ai actuellement un problème que je n'arrive pas à résoudre depuis plus d'un jour.
Comme dit dans le titre, je voudrais effectuer deux fonctions javascript dans un onsubmit.
Le problème est que ca ne marche  :cry:  
Les deux fonctions marchent indépendament mais ne marche plus une fois ensemble.
Je vous joint le code pour que vous puissiez vous faire votre idée.
 

Code :
  1. <script language="JavaScript">
  2. function verifidentifiant()
  3. {
  4.  a = document.materiel.num.value;
  5.  var ok=true;
  6.  if(a=="" )
  7.  {
  8.  alert("Veuillez entrer l'identifiant" ); ok=false;
  9.  return ok;
  10.  }
  11. }
  12. function CheckDate()
  13. {
  14.   d = document.materiel.date_achat.value;
  15.       var amin=1999;
  16.       var amax=2050;
  17.       var separateur="/";
  18.       var j=(d.substring(0,2));
  19.       var m=(d.substring(3,5));
  20.       var a=(d.substring(6));
  21.       var ok=true;
  22.  
  23.   if(d=="" ){
  24.   ok=true;}
  25.   else
  26.   {
  27.       if ( ((isNaN(j))||(j<1)||(j>31)) && (ok==1) ) {
  28.          alert("Le jour d'achat n'est pas correct." ); ok=false;
  29.   return ok;
  30.       }
  31.       if ( ((isNaN(m))||(m<1)||(m>12)) && (ok==1) ) {
  32.          alert("Le mois d'achat n'est pas correct." ); ok=false;
  33.   return ok;
  34.       }
  35.       if ( ((isNaN(a))||(a<amin)||(a>amax)) && (ok==1) ) {
  36.          alert("L'année d'achat n'est pas correcte." ); ok=false;
  37.   return ok;
  38.       }
  39.       if ( ((d.substring(2,3)!=separateur)||(d.substring(5,6)!=separateur)) && (ok==1) ) {
  40.          alert("Les séparateurs doivent être des "+separateur+" pour la date d'achat" ); ok=false;
  41.   return ok;
  42.       }
  43.       if (ok==1) {
  44.          var d2=new Date(a,m-1,j);
  45.          j2=d2.getDate();
  46.          m2=d2.getMonth()+1;
  47.          a2=d2.getFullYear();
  48.          if (a2<=100) {a2=1900+a2}
  49.          if ( (j!=j2)||(m!=m2)||(a!=a2) ) {
  50.             alert("La date "+d+" n'existe pas !" );
  51.             ok=false;
  52.   void window.stop()
  53.   return ok;
  54.          }
  55.       }
  56.   }
  57.   d = document.materiel.date_deb_gar.value;
  58.       var amin=1999;
  59.       var amax=2050;
  60.       var separateur="/";
  61.       var j=(d.substring(0,2));
  62.       var m=(d.substring(3,5));
  63.       var a=(d.substring(6));
  64.       var ok=true;
  65.   if (d=="Aucune" || d=="" ){
  66.   ok=true;
  67.   }
  68.   else{
  69.       if ( ((isNaN(j))||(j<1)||(j>31)) && (ok==1) ) {
  70.          alert("Le jour de début de garantie n'est pas correct." ); ok=false;
  71.   return ok;
  72.       }
  73.       if ( ((isNaN(m))||(m<1)||(m>12)) && (ok==1) ) {
  74.          alert("Le mois de début de garantie n'est pas correct." ); ok=false;
  75.   return ok;
  76.       }
  77.       if ( ((isNaN(a))||(a<amin)||(a>amax)) && (ok==1) ) {
  78.          alert("L'année de début de garantie n'est pas correcte." ); ok=false;
  79.   return ok;
  80.       }
  81.       if ( ((d.substring(2,3)!=separateur)||(d.substring(5,6)!=separateur)) && (ok==1) ) {
  82.          alert("Les séparateurs doivent être des "+separateur+" pour le début de garantie" ); ok=false;
  83.   return ok;
  84.       }
  85.       if (ok==1) {
  86.          var d2=new Date(a,m-1,j);
  87.          j2=d2.getDate();
  88.          m2=d2.getMonth()+1;
  89.          a2=d2.getFullYear();
  90.          if (a2<=100) {a2=1900+a2}
  91.          if ( (j!=j2)||(m!=m2)||(a!=a2) ) {
  92.             alert("La date "+d+" n'existe pas !" );
  93.             ok=false;
  94.   void window.stop()
  95.   return ok;
  96.          }
  97.       }
  98.   }
  99.  
  100.   d = document.materiel.date_fin_gar.value;
  101.       var amin=1999;
  102.       var amax=2050;
  103.       var separateur="/";
  104.       var j=(d.substring(0,2));
  105.       var m=(d.substring(3,5));
  106.       var a=(d.substring(6));
  107.       var ok=true;
  108.   if (d=="Aucune" || d=="" ){
  109.   ok=true;
  110.   }
  111.   else{
  112.       if ( ((isNaN(j))||(j<1)||(j>31)) && (ok==1) ) {
  113.          alert("Le jour de fin de garantie n'est pas correct." ); ok=false;
  114.   return ok;
  115.       }
  116.       if ( ((isNaN(m))||(m<1)||(m>12)) && (ok==1) ) {
  117.          alert("Le mois de fin de garantie n'est pas correct." ); ok=false;
  118.   return ok;
  119.       }
  120.       if ( ((isNaN(a))||(a<amin)||(a>amax)) && (ok==1) ) {
  121.          alert("L'année de fin de garantie n'est pas correcte." ); ok=false;
  122.   return ok;
  123.       }
  124.       if ( ((d.substring(2,3)!=separateur)||(d.substring(5,6)!=separateur)) && (ok==1) ) {
  125.          alert("Les séparateurs doivent être des "+separateur+" pour la fin de garantie" ); ok=false;
  126.   return ok;
  127.       }
  128.       if (ok==1) {
  129.          var d2=new Date(a,m-1,j);
  130.          j2=d2.getDate();
  131.          m2=d2.getMonth()+1;
  132.          a2=d2.getFullYear();
  133.          if (a2<=100) {a2=1900+a2}
  134.          if ( (j!=j2)||(m!=m2)||(a!=a2) ) {
  135.             alert("La date "+d+" n'existe pas !" );
  136.             ok=false;
  137.   void window.stop()
  138.   return ok;
  139.          }
  140.       }
  141.   }
  142.  
  143.   d = document.materiel.sortie_compta.value;
  144.       var amin=1999;
  145.       var amax=2050;
  146.       var separateur="/";
  147.       var j=(d.substring(0,2));
  148.       var m=(d.substring(3,5));
  149.       var a=(d.substring(6));
  150.       var ok=true;
  151.   if(d=="" )
  152.   {
  153.   ok=true;
  154.   }
  155.   else
  156.   {
  157.       if ( ((isNaN(j))||(j<1)||(j>31)) && (ok==1) ) {
  158.          alert("Le jour de sortie de compta n'est pas correct." ); ok=false;
  159.   return ok;
  160.       }
  161.       if ( ((isNaN(m))||(m<1)||(m>12)) && (ok==1) ) {
  162.          alert("Le mois de sortie de compta n'est pas correct." ); ok=false;
  163.   return ok;
  164.       }
  165.       if ( ((isNaN(a))||(a<amin)||(a>amax)) && (ok==1) ) {
  166.          alert("L'année de sortie de compta n'est pas correcte." ); ok=false;
  167.   return ok;
  168.       }
  169.       if ( ((d.substring(2,3)!=separateur)||(d.substring(5,6)!=separateur)) && (ok==1) ) {
  170.          alert("Les séparateurs doivent être des "+separateur+" pour la sortie de compta" ); ok=false;
  171.   return ok;
  172.       }
  173.       if (ok==1) {
  174.          var d2=new Date(a,m-1,j);
  175.          j2=d2.getDate();
  176.          m2=d2.getMonth()+1;
  177.          a2=d2.getFullYear();
  178.          if (a2<=100) {a2=1900+a2}
  179.          if ( (j!=j2)||(m!=m2)||(a!=a2) ) {
  180.             alert("La date "+d+" n'existe pas !" );
  181.             ok=false;
  182.   void window.stop()
  183.   return ok;
  184.          }
  185.       }
  186.   }
  187. }
  188. function Verif()
  189. {
  190. verifidentifiant();
  191. CheckDate();
  192. if (var ok==0)
  193. {void window.stop()
  194. }
  195. }
  196. </script>

 
 
Merci de votre aide.

mood
Publicité
Posté le 05-06-2008 à 23:25:09  profilanswer
 

n°1742287
theredled
● REC
Posté le 06-06-2008 à 00:00:09  profilanswer
 

et le onclick ? :D


---------------
Contes de fées en yaourt --- --- zed, souviens-toi de ma dernière lettre. --- Rate ta musique
n°1742288
filoulebau​ju
Posté le 06-06-2008 à 00:01:46  profilanswer
 

theredled a écrit :

et le onclick ? :D


c'est à dire?

n°1742289
theredled
● REC
Posté le 06-06-2008 à 00:04:46  profilanswer
 

C-a-d que là on a que du JS, mais pas le code du onclick qui l'appelle...


---------------
Contes de fées en yaourt --- --- zed, souviens-toi de ma dernière lettre. --- Rate ta musique
n°1742290
theredled
● REC
Posté le 06-06-2008 à 00:05:18  profilanswer
 

(donc il faudrait au moins le code html du onclick)


---------------
Contes de fées en yaourt --- --- zed, souviens-toi de ma dernière lettre. --- Rate ta musique
n°1742291
filoulebau​ju
Posté le 06-06-2008 à 00:07:19  profilanswer
 

theredled a écrit :

(donc il faudrait au moins le code html du onclick)


Code :
  1. <html>
  2. <head>
  3. <link href="../style/style.css" rel="stylesheet" type="text/css" media="screen" />
  4. </head>
  5. <title>Gestion du matériel</title>
  6. <form method="POST" name="materiel" action="materiel_ajout_trait.php" onsubmit= "Verif();">
  7. Identifiant:* <br>
  8. <input type="text" name="num" size="40" /><br>
  9. Libellé: <br>
  10. <input type="text" name="libelle" size="40" /><br>
  11. Numéro compta:<br>
  12. <input type="text" name="num_compta" size="40" /><br>
  13. Prix d'achat:<br>
  14. <input type="text" name="prix_achat" size="40" /><br>
  15. Durée ammortissement: <br>
  16. <input type="text" name="duree_amo" size="40" /><br>
  17. Fournisseur:<br>
  18. <select name="fournisseur">
  19.  <?php
  20.  $liste_fournisseur = odbc_exec($odbc,"SELECT num_fournisseur, Nom_fournisseur FROM fournisseur" );
  21.  while($donnee_fournisseur=odbc_fetch_array($liste_fournisseur)) {?>
  22.  <option value="<?php echo $donnee_fournisseur['num_fournisseur'] ?>" > <?php echo $donnee_fournisseur['Nom_fournisseur']; ?> </option>
  23.  <?php }?>
  24. </select>
  25. <br/>
  26. Marque:<br/>
  27. <select name="marque">
  28. <option value="">Choisir une marque<option>
  29. <option>Brother</option>
  30. <option>Dell</option>
  31. <option>Canon</option>
  32. <option>HP</option>
  33. <option>Konica Minolta</option>
  34. <option>Netasq</option>
  35. <option>Shuttle</option>
  36. <option>Microsoft</option>
  37. <option>Pas de marque</option>
  38. </select>
  39. <br>
  40. Date d'achat: (JJ/MM/AAAA)<br>
  41. <input type="text" name="date_achat"  />
  42. <br>
  43. Date début garantie: <br>
  44. <input type="text" name="date_deb_gar" />
  45. <br>
  46. Date fin garantie: <br>
  47. <input type="text" name="date_fin_gar" />
  48. <br>
  49. Sortie Comptabilité:<br>
  50. <input type="text" name="sortie_compta" />
  51. <br>
  52. Actif:<br>
  53. <select name="actif">
  54. <option value="">Actif ?<option>
  55. <option>Oui</option>
  56. <option>Non</option>
  57. </select>
  58. <br>
  59. Type:<br>
  60. <select name="type">
  61. <option value="">Choisir un type<option>
  62. <option>Firewall</option>
  63. <option>Imprimante</option>
  64. <option>Portable</option>
  65. <option>Unité centrale</option>
  66. <option>Serveur</option>
  67. <option>Serveur TSE</option>
  68. <option>Scanner</option>
  69. <option>Switch</option>
  70. <option>Video Projecteur</option>
  71. <option>Logiciel</option>
  72. <option>Armoire serveurs</option>
  73. </select>
  74. <br>
  75. Utilisateur:<br>
  76. <select name="utilisateur">
  77.  <?php
  78.  $liste_utilisateur = odbc_exec($odbc,"SELECT num_utilisateur, Nom_utilisateur, Prenom_utilisateur FROM Utilisateurs INNER JOIN Site on Site.num_site=utilisateurs.num_site where nom_site NOT LIKE 'Plus dans la %' order by Nom_utilisateur" );
  79.  while($donnee_utilisateur=odbc_fetch_array($liste_utilisateur)) {?>
  80.  <option value="<?php echo $donnee_utilisateur['num_utilisateur'] ?>" > <?php echo $donnee_utilisateur['Nom_utilisateur'].' '.$donnee_utilisateur['Prenom_utilisateur']; ?> </option>
  81.  <?php }?>
  82. </select>
  83. <br>
  84. Societe facturée:<br>
  85. <input type="text" name="societe_facturee">
  86. <br>
  87. Numéro de facture:<br>
  88. <input type="text" name="num_facture">
  89. <br>
  90. <input type="submit" name="ajouter" value="Ajouter">
  91. </form>

n°1742295
theredled
● REC
Posté le 06-06-2008 à 00:13:58  profilanswer
 

Je ne vois pas de onsubmit (pas onclick, dsl) avec 2 appels de fonctions...


---------------
Contes de fées en yaourt --- --- zed, souviens-toi de ma dernière lettre. --- Rate ta musique
n°1742297
filoulebau​ju
Posté le 06-06-2008 à 00:16:01  profilanswer
 

theredled a écrit :

Je ne vois pas de onsubmit (pas onclick, dsl) avec 2 appels de fonctions...


 
oui mais si je met un onclick, dès que je cliquerais, ca me dira une erreur non?

n°1742298
theredled
● REC
Posté le 06-06-2008 à 00:19:13  profilanswer
 

Non je disais juste que jke m'étais planté de mot, j'ai dit onclick alors que tu parlais de onsubmit, bref oublie :D et file le code de ton onsubmit avec *2* appels de fonctions stp ;)


---------------
Contes de fées en yaourt --- --- zed, souviens-toi de ma dernière lettre. --- Rate ta musique
n°1742299
filoulebau​ju
Posté le 06-06-2008 à 00:20:45  profilanswer
 

theredled a écrit :

Non je disais juste que jke m'étais planté de mot, j'ai dit onclick alors que tu parlais de onsubmit, bref oublie :D et file le code de ton onsubmit avec *2* appels de fonctions stp ;)


 
c'est justement là que j'ai du mal. :wahoo:

mood
Publicité
Posté le 06-06-2008 à 00:20:45  profilanswer
 

n°1742300
theredled
● REC
Posté le 06-06-2008 à 00:24:34  profilanswer
 

Aaah t'as pas écrit de code ?
 
c'est

Code :
  1. <form onsubmit="fonction1(); fonction2();">


 
C'est ni plus ni moins que du JS tout con que tu écris dans le onsubmit.


---------------
Contes de fées en yaourt --- --- zed, souviens-toi de ma dernière lettre. --- Rate ta musique
n°1742301
filoulebau​ju
Posté le 06-06-2008 à 00:29:55  profilanswer
 

theredled a écrit :

Aaah t'as pas écrit de code ?
 
c'est

Code :
  1. <form onsubmit="fonction1(); fonction2();">


 
C'est ni plus ni moins que du JS tout con que tu écris dans le onsubmit.


 
Ca ne marche toujours pas
 
Le code ne s'arrete pas après un alert()
Le but est  messagebox -> arret du chargement,
 
Et je n'arrive pas.  :fou:

n°1742303
theredled
● REC
Posté le 06-06-2008 à 00:36:26  profilanswer
 

Et tu veux toujours pas faire voir ton code ?


---------------
Contes de fées en yaourt --- --- zed, souviens-toi de ma dernière lettre. --- Rate ta musique
n°1742304
filoulebau​ju
Posté le 06-06-2008 à 00:37:47  profilanswer
 

theredled a écrit :

Et tu veux toujours pas faire voir ton code ?


 
ben il est en 2 parties, mais le code est entier.
 
Que veux tu de plus?
 
Ya le html/php et le javascript.

n°1742305
theredled
● REC
Posté le 06-06-2008 à 00:40:20  profilanswer
 

Je ne vois aucun onsubmit qui comporte deux fonctions, ou alors dis-moi la ligne...


---------------
Contes de fées en yaourt --- --- zed, souviens-toi de ma dernière lettre. --- Rate ta musique
n°1742306
filoulebau​ju
Posté le 06-06-2008 à 00:41:41  profilanswer
 

theredled a écrit :

Je ne vois aucun onsubmit qui comporte deux fonctions, ou alors dis-moi la ligne...


 
<form method="POST" name="materiel" action="materiel_ajout_trait.php" onsubmit= "verifidentifiant(); CheckDate();">
 
désolé, je t'ai donné une version test.  :jap:

n°1742308
theredled
● REC
Posté le 06-06-2008 à 00:54:31  profilanswer
 

Déja, ta première fonction ne retourne rien si a n'est pas vide. Elle devrait retourner true.
Ensuite je vois pas du tout à quoi te sert ta variable ok :D des return true / return false tout simples suffiraient et serait plus lisibles.
 
Quand t'aura modifier ça je reregarderais ton pb, je sais qu'il y a des cas suivant ce que renvoie telle ou telle fonction, mais je sais plus exactement.
 
En tout cas perso je ferait plutot un onsubmit="return verifidentifiant() && CheckDate();"


---------------
Contes de fées en yaourt --- --- zed, souviens-toi de ma dernière lettre. --- Rate ta musique
n°1742309
filoulebau​ju
Posté le 06-06-2008 à 00:59:05  profilanswer
 

theredled a écrit :

Déja, ta première fonction ne retourne rien si a n'est pas vide. Elle devrait retourner true.
Ensuite je vois pas du tout à quoi te sert ta variable ok :D des return true / return false tout simples suffiraient et serait plus lisibles.
 
Quand t'aura modifier ça je reregarderais ton pb, je sais qu'il y a des cas suivant ce que renvoie telle ou telle fonction, mais je sais plus exactement.
 
En tout cas perso je ferait plutot un onsubmit="return verifidentifiant() && CheckDate();"


 
c'est bon c'était ça, ca marche!!!
 
J'ai du tenté tout ce qui était possible et réalisable sauf ca!!!
 
Merci


Message édité par filoulebauju le 06-06-2008 à 00:59:21
n°1742310
theredled
● REC
Posté le 06-06-2008 à 00:59:54  profilanswer
 

C'est-à-dire ?
La première fonction qui retourne rien, ou le return a & b ?


---------------
Contes de fées en yaourt --- --- zed, souviens-toi de ma dernière lettre. --- Rate ta musique
n°1742311
filoulebau​ju
Posté le 06-06-2008 à 01:00:44  profilanswer
 

theredled a écrit :

C'est-à-dire ?
La première fonction qui retourne rien, ou le return a & b ?


 
onsubmit="return verifidentifiant() && CheckDate();"

n°1742315
theredled
● REC
Posté le 06-06-2008 à 01:03:34  profilanswer
 

okay :jap:
Mais ça n'empeche pas de prendre en compte mes remarques sur ton code :D


---------------
Contes de fées en yaourt --- --- zed, souviens-toi de ma dernière lettre. --- Rate ta musique
n°1742347
kao98
...
Posté le 06-06-2008 à 09:32:31  profilanswer
 

Citation :


Code :
  1. if (var ok==0)
  2. {void window.stop()
  3. }




Heu, là, la variable, tu la déclare. Je me demande si du coup, elle n'est pas initialisée à 0 à ce moment là, donc elle vaut toujours 0 !
Moi, je ferais retourner true ou false à tes fonctions checkdate et verifidentifiant, et je testerais les valeurs de retour, pas une hypotéthique variable ok pas déclarée correctement.


Message édité par kao98 le 06-06-2008 à 09:32:47

---------------
Kao ..98 - Uplay (R6S) : kao98.7.62x39 - Origin (BF4, BF1) : kntkao98
n°1742365
theredled
● REC
Posté le 06-06-2008 à 10:07:52  profilanswer
 

Oulah oui j'avais pas vu ça :D
JS ne mets pas d'erreur pour un truc comme ça ?


---------------
Contes de fées en yaourt --- --- zed, souviens-toi de ma dernière lettre. --- Rate ta musique
mood
Publicité
Posté le   profilanswer
 


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

  appel de deux fonctions javascript dans un onsubmit

 

Sujets relatifs
[ActiveX] Execution de javascript[javascript] onsubmit() et test de 2 boutons submit
dll par du javascriptDétecter Action javascript sur un input
"unterminated string literal" oui mais je ne vois rien (Javascript)Fonctions Javascript : dans un fichier .js ou dans le <head> ?
Appel à accept() bloqué alors que le fd a été retourné par select()Un usage de boost::function dans un appel à boost::thread
Plus de sujets relatifs à : appel de deux fonctions javascript dans un onsubmit


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