erreur js

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : erreur js

par Cyrano » 28 juil. 2005, 09:21

Une telle tartine de code est un peu indigeste.

Pour débugguer ton système, il faudrait seulement les lignes les plus pertinentes.

Pose-toi la question : "pourquoi la comparaison ne retourne pas le bon résultat ?" : peut-être bien parce que les dates envoyées ne sont pas au bon format.

Si tu compares en effet 28/07/2005 et 29/06/2005, il n'est pas impossible que tu aies le 28 juillet avant le 29 juin. Reformate les valeurs pour les traiter. Extrais les différentes partie de ta date pour les concaténer en un seul nombre au format aaaammjj (Année + mois + jour) : ce qui reviendrait dans mon exemple à comparer 20050728 et 20050629 : Là, tu auras une comparaison juste et le retour indiquera bien que juillet est ultérieur à juin.

par zeus » 28 juil. 2005, 09:12

tu nous mets formulaire et/ou message d'erreur ?
J'entendais le formulaire HTML et le message d'erreur JS déclenché

Par le popup d'avertissement mais le message dans la console JS

ss FF, dans Outils->Console Javascript
ss IE, en bas de la page à gauche, doubli clique sur le petit icone /!\

erreur js

par momo » 28 juil. 2005, 09:10

re bonjour
de plus quand je change la date de fin (car j'ai fait une fonction pour que la date de fin soit indentique a la date de fin) je sais que ce n'est pas tres coherent mais c'est ce que l'on me demande !!!!!!
j'ai ceci
La date de fin de soins doit être supérieure ou égal à la date de début de soin
le mieux je joind le formulaire entier
merci si vous pouvez m'aider car je dois le rendre en production aujourd'hui

Code : Tout sélectionner

<?php include("haut.php"); include("charge_param.php"); if (!$db) { include ("erreur_connexion.htm"); exit() ; } $erreur=0; //verification des donnees if ($nom) { //requete pour savoir si il ya au moin 1 résultat correspondant au nom $req_a="SELECT Titre,Epouse, Nom, Prenom, NUMEN, NumDossier, TypeDossier,DateAccident,DatePremiereConstatationMedical FROM AGENT left join DOSSIER on ( NumDossier = IdDossier ) WHERE (Epouse='$nom' OR (Epouse='' AND Nom='$nom')) order by DateAccident DESC"; $result=mysql_query( $req_a,$db ); $line=mysql_fetch_array($result); $titre=$line["Titre"]; $nompat=$line["Nom"]; $prenom=$line["Prenom"]; $nomu=$line["Epouse"]; $numen=$line["NUMEN"]; $numdossier=$line["NumDossier"]; $typed=$line["TypeDossier"]; $nbresult=mysql_num_rows( $result ); if ($nbresult>=1) { $erreur=2; } else { $erreur=-2; } } if ( $erreur <= 0) { ?> <html> <head> <title>Fiche de frais</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <link rel="stylesheet" href="styleagam.css" type="text/css"> <script language=javascript> function verif() { if (document.form_fichefrais.nom.value.length == 0 ) { alert("vous devez remplir le nom"); return (false); } } </script> </head> <body bgcolor="#FFFFFF" text="#000000"> <br> <div align="center"><b><span class="titre1">Edition des fiches de frais </span></b></div> <form method="post" name="form_fichefrais" onsubmit="return verif()" action="<?=$PHP_SELF?>"> <table width="50%" border="0" align="center"> <tr > <td class="celtab" width="35%">Nom de la victime:</td> <td width="65%"> <input type="text" name="nom"> </td> </tr> <tr> <td colspan="2">&nbsp;</td> </tr> <tr> <td width="35%" align="center">&nbsp; </td> <td width="65%" align="center"> <div align="left"> <input type="submit" name="oke" value="valider" class="boutonnavig"> <input type="reset" name="reset" value="effacer"class="boutonnavig"> </div> </td> </tr> </table> <?php //alert dans le cas d'aucun résultat trouvé if ($erreur==-2) { ?> <script language=javascript> alert("personne de ce nom d'usage dans la base"); </script> <? } } else { // le nom existe ?> </table> <br> </form> <html> <head> <title>Fiche de frais</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <link rel="stylesheet" href="styleagam.css" type="text/css"> <!--//controle des champs obligatoires--> <script language=javascript> function majdfin () { document.getElementById("datef").value =document.getElementById("dated").value; } function verif() { if (document.F1.datea.value.length == 0) { alert("Vous devez saisir la date d'arrivée"); document.F1.datea.focus(); return (false); } if (document.F1.dated.value.length == 0) { alert("Vous devez saisir la date de début") ; document.F1.dated.focus() ; return (false); } if (document.F1.datef.value.length == 0) { alert("Vous devez saisir la date de fin de soins"); document.F1.datef.focus(); return (false); } if (document.F1.datef.value > document.F1.dated.value) { alert ("La date de fin de soins doit être supérieure ou égal à la date de début de soin") ; document.F1.datef.focus(); return (false); } if (document.F1.datep.value < document.F1.dated.value) { alert ("La date de prescription ne doit pas être postérieure à la date de début des soins") ; document.F1.dated.focus(); return (false); } if ((document.F1.dateord.value > document.F1.dated.value) && (document.F1.dateord.value > document.F1.datea.value )) { alert ("La date d'ordonnance doit être postérieure à la date de début des soins et à la date d'arrivée de la facture") ; document.F1.dateord.focus(); return (false); } if (document.F1.qualite.options[document.F1.qualite.selectedIndex].value.length == 0) { alert("Vous devez sélectionner une qualité"); document.F1.qualite.focus(); return (false); } if (document.F1.nom.value.length == 0) { alert("Vous devez saisir le nom"); document.F1.nom.focus(); return (false); } if (document.F1.montant.value.length == 0) { alert("Vous devez saisir le montant en euro"); document.F1.montant.focus(); return (false); } if (document.F1.nfn.value.length == 0) { alert("Vous devez saisir le numéro de fiche navette"); document.F1.nfn.focus(); return (false); } if (document.F1.ndl.value.length == 0) { alert("Vous devez saisir le numéro de dossier liquidatif"); document.F1.ndl.focus(); return (false); } if (document.F1.no.value.length == 0) { alert("Vous devez saisir le numéro d'ordonnance"); document.F1.no.focus(); return (false); } return (true); } function spslash(target) { var chaine ; chaine = target.value; if ((chaine.length == 2 || chaine.length == 5 )&& window.event.keyCode!= 8) { target.value=target.value + '/' } } function ini1(target) { if (target.value == "--/--/----") target.value = "" ; } function spslash1(target) { var chaine ; chaine = target.value; if ((chaine.length == 2 || chaine.length == 5 )&& window.event.keyCode!= 8){ target.value=target.value + ':' } } function spslash2(target) { var chaine ; chaine = target.value; if ((chaine.length == 2 )&& window.event.keyCode!= 5){ target.value=target.value + ':' } } function ini(target) { if (target.value == "--:--:--") target.value = "" ; } function open_liste10(UrlPage,NomChamp,ValeurChamp,NameForm) { url = UrlPage + "?&NomChamp=" + NomChamp + "&ValeurChamp=" + ValeurChamp + "&NameForm=" + NameForm; window.open(url,"calc",'resizable,left=100,top=200,width=500,height=150'); } function MiseAJour(NomChamp, Valeur, NameForm) { if (NomChamp != "") document.forms[NameForm].elements[NomChamp].value = Valeur; } </script> <SCRIPT SRC="GestDate.js" TYPE="text/javascript" LANGUAGE="JavaScript1.2"></SCRIPT> </head> <div align="center"><b><span class="titre1"> Fiche de frais</span></b> </div> <br> <table width="80%" border="0" cellspacing="0" cellpadding="3" align="center"> <tr> <td class="titre1" bgcolor="#CCCCCC"><span class="celtab">Ce dossier <?php print $numdossier;?>&nbsp; <?php print "($typed)";?>&nbsp;concerne <?php print $titre;?>&nbsp;<b><?php print ($nompat."</b> ".$prenom); if ($nomu!= "") print ("&nbsp; Epouse ou Nom d'usage ".$nomu) ; ?></span></td> </table> <br> <table width="80%" border="0" cellspacing="0" cellpadding="3" align="center"> <tr> <td class="titre1" bgcolor="#FFFFCC"><span class="celtab">dont le NUMEN est : <? print $numen;?></span></td></tr> </table> <br> <form method="POST" action="insert_fdf.php?numdossier=<?php print ($numdossier);?>" name="F1" onSubmit="return verif()"> <table width="86%" border="1" cellpadding="2" bordercolor="#003366" align="center"> <tr> <td height="97"> <table width="100%" cellspacing="0" cellpadding="3" align="center"> <tr> <td class="celtab" colspan="5"> <div align="left">Date d'arrivée de la facture &nbsp;&nbsp;&nbsp; <input type="text" name="datea" size="8" maxlength="10" value="--/--/----" onKeyUp="javascript:spslash(this)" onFocus="javascript:ini1(this)"> </div> <div align="center"></div> <div align="center"></div> <div align="center"> </div> </td> </tr> <tr> <td class="celtab" width="182">&nbsp;</td> <td class="celtab" colspan="2">&nbsp;</td> <td class="celtab" width="110">&nbsp;</td> <tr> <? //requete pour le menu de la qualite $query="SELECT IdQualite, LibelleQualite FROM QUALITE ORDER BY 2"; $result = mysql_query($query,$db); ?> <td class="celtab" width="182">Qualité</td> <td class="celtab" colspan="2"> <div align="left"> <input type="text" name="qualite" size="30" maxlength="40"> </div> </td> <td class="celtab" width="110"> <input type="BUTTON" value=" Liste ..." name="B1" onClick="JAVASCRIPT:open_liste10('liste_spec10.php','qualite',document.F1.qualite.value,'F1')"> <input type="hidden" name="qualorig" value="<?php print $qualite;?>" maxlength="100" size="60"> </td> <tr> <td class="celtab" width="182">&nbsp;</td> <td colspan="2" class="celtab">&nbsp;</td> <td width="110" class="celtab">&nbsp;</td> <td width="104" class="celtab">&nbsp;</td> </tr> <tr> <td class="celtab" width="182">Nom du cr&eacute;ancier</td> <td colspan="2" class="celtab"> <div align="left"> <input type="text" name="nom" size="30"> </div> </td> <td width="110" class="celtab">&nbsp;</td> <td width="104" class="celtab">&nbsp;</td> </tr> <tr> <td class="celtab" width="182">&nbsp;</td> <td class="celtab" width="110">&nbsp;</td> <td class="celtab" width="139">&nbsp;</td> <td class="celtab" width="110">&nbsp;</td> <td width="104" class="celtab">&nbsp;</td> </tr> <tr> <td class="celtab" width="182">Date du d&eacute;but des soins</td> <td class="celtab" width="110"> <div align="center"> <input type="text" name="dated" size="8" maxlength="10" value="--/--/----" onkeyup="javascript:spslash(this)" onfocus="javascript:ini1(this)" onchange="majdfin()"> </div> </td> <td class="celtab" width="139"> <div align="right">Date de fin de soins</div> </td> <td class="celtab" width="110"> <input type="text" name="datef" size="8" maxlength="10" value="--/--/----" onKeyUp="javascript:spslash(this)" onFocus="javascript:ini1(this)"> </td> <td width="104" class="celtab">&nbsp; </td> </tr> <tr> <td class="celtab" width="182">&nbsp;</td> <td colspan="4" class="celtab">&nbsp;</td> </tr> <tr> <td class="celtab" width="182">Objet</td> <td colspan="4" class="celtab"> <textarea name="obj" cols="40" rows="5"></textarea> </td> </tr> <tr> <td class="celtab" width="182">&nbsp;</td> <td colspan="4" class="celtab">&nbsp;</td> </tr> <tr> <td class="celtab" width="182">Date de prescription</td> <td colspan="4" class="celtab"> <input type="text" name="datep" size="8" maxlength="10" value="--/--/----" onKeyUp="javascript:spslash(this)" onFocus="javascript:ini1(this)"> </td> </tr> <tr> <td class="celtab" width="182">&nbsp;</td> <td colspan="4" class="celtab">&nbsp;</td> </tr> <tr> <td class="celtab" width="182">Montant en euro</td> <td colspan="4" class="celtab"> <input type="text" name="montant" size="20"> </td> </tr> <tr> <td class="celtab" width="182">&nbsp;</td> <td class="celtab" width="110">&nbsp;</td> <td class="celtab" width="139">&nbsp;</td> <td class="celtab" width="110">&nbsp;</td> <td class="celtab" width="104">&nbsp;</td> </tr> <tr> <td class="celtab" width="182">N&deg; Fiche navette</td> <td class="celtab" width="110"> <input type="text" name="nfn" size="20"> </td> <td class="celtab" width="139"> <div align="right">N&deg; Dossier liquidatif</div> </td> <td class="celtab" width="110"> <input type="text" name="ndl" size="20"> </td> <td class="celtab" width="104">&nbsp; </td> </tr> <tr> <td class="celtab" width="182">&nbsp;</td> <td class="celtab" width="110">&nbsp;</td> <td class="celtab" width="139">&nbsp;</td> <td class="celtab" width="110">&nbsp;</td> <td class="celtab" width="104">&nbsp;</td> </tr> <tr> <td class="celtab" width="182">N&deg; Ordonnance </td> <td class="celtab" width="110"> <input type="text" name="no" size="20"> </td> <td class="celtab" width="139"> <div align="right">Date d'ordonnance </div> </td> <td class="celtab" width="110"> <input type="text" name="dateord" size="8" maxlength="10" value="--/--/----" onKeyUp="javascript:spslash(this)" onFocus="javascript:ini1(this)"> </td> <td class="celtab" width="104">&nbsp; </td> </tr> <tr> <td class="celtab" width="182">&nbsp;</td> <td colspan="4" class="celtab">&nbsp;</td> </tr> <tr> <td class="celtab" width="182">Observation</td> <td colspan="4" class="celtab"> <textarea name="ob" cols="40" rows="5"></textarea> </td> </tr> </table> </tr> </table> <br> <table width="12%" border="0" cellspacing="0" cellpadding="2" align="center"> <tr align="center"> <td width="45%" bgcolor="#003366"> <input type="submit" name="Submit" value="Exporter" class="boutonnavig"> </td> <td width="45%" >&nbsp;</td> <td width="45%" bgcolor="#003366"> <input type="button" value="Editer" onClick="window.print()" class="boutonnavig"> </td> <!-- <td width="45%" >&nbsp;</td> <td width="45%" bgcolor="#003366"> <input type="submit" name="Submit" value="Valider" class="boutonnavig"> </td>--> </tr> </table> </form> <? } ?> </body> </html>

erreur js

par momo » 28 juil. 2005, 09:02

Bonjour,
voila quand je rempli mon formulaire mes dates de debut et d'arrivée sont bien antérieurs a la date d'ordonnance mais j'ai quand meme le message d'alerte qui indique le contraire

Code : Tout sélectionner

<script language=javascript> function majdfin () { document.getElementById("datef").value =document.getElementById("dated").value; } function verif() { if (document.F1.datea.value.length == 0) { alert("Vous devez saisir la date d'arrivée"); document.F1.datea.focus(); return (false); } if (document.F1.dated.value.length == 0) { alert("Vous devez saisir la date de début") ; document.F1.dated.focus() ; return (false); } if (document.F1.datef.value.length == 0) { alert("Vous devez saisir la date de fin de soins"); document.F1.datef.focus(); return (false); } if (document.F1.datef.value > document.F1.dated.value) { alert ("La date de fin de soins doit être supérieure ou égal à la date de début de soin") ; document.F1.datef.focus(); return (false); } if (document.F1.datep.value < document.F1.dated.value) { alert ("La date de prescription ne doit pas être postérieure à la date de début des soins") ; document.F1.dated.focus(); return (false); } if ((document.F1.dateord.value > document.F1.dated.value) && (document.F1.dateord.value > document.F1.datea.value )) { alert ("La date d'ordonnance doit être postérieure à la date de début des soins et à la date d'arrivée de la facture") ; document.F1.dateord.focus(); return (false); } if (document.F1.qualite.options[document.F1.qualite.selectedIndex].value.length == 0) { alert("Vous devez sélectionner une qualité"); document.F1.qualite.focus(); return (false); } if (document.F1.nom.value.length == 0) { alert("Vous devez saisir le nom"); document.F1.nom.focus(); return (false); } if (document.F1.montant.value.length == 0) { alert("Vous devez saisir le montant en euro"); document.F1.montant.focus(); return (false); } if (document.F1.nfn.value.length == 0) { alert("Vous devez saisir le numéro de fiche navette"); document.F1.nfn.focus(); return (false); } if (document.F1.ndl.value.length == 0) { alert("Vous devez saisir le numéro de dossier liquidatif"); document.F1.ndl.focus(); return (false); } if (document.F1.no.value.length == 0) { alert("Vous devez saisir le numéro d'ordonnance"); document.F1.no.focus(); return (false); } return (true); } merci pour vos réponses

par zeus » 27 juil. 2005, 16:28

sans le formulaire et/ou le message d'erreur associé, rien

Mais si tu pose la question, c'est qu'il doit y avoir un problème ;)

tu nous mets formulaire et/ou message d'erreur ?

erreur js

par momo » 27 juil. 2005, 16:19

Bonjour,
qui pourrait me dire ce qui ne marche pas
if ((document.F1.dateord.value > document.F1.dated.value) && (document.F1.dateord.value > document.F1.datea.value ))
{
alert ("La date d'ordonnance doit être postérieure à la date de début des soins et à la date d'arrivée de la facture") ;
document.F1.dateord.focus();
return (false);
}
merci