Soucis avec du javascript sur formulaire

Soucis avec du javascript sur formulaire - HTML/CSS - Programmation

Marsh Posté le 14-05-2008 à 11:04:54    

Bonjour à tous et à toutes, voila j'ai un petit soucis sur un formulaire, mon javascript ne fonctionne pas ou aléatoirement (pourtant il n'est pas desactivé) et je voulais savoir si il y avait un problème dans ma déclaration ou mon appel de fonction, je vous met juste la partie avec java :
 
Dans le head:
 

Spoiler :

<script type="text/javascript">
 
function verifAnnee(annee)
 
{
 
 if ((annee<1920) || (annee>2008))
 
  {
 
  alert('Votre ann&eacute;e de naissance est incorrecte');
 
  return false;
 
  }
 else return true;
 
}
 
function Chargement() {
 alert('Bienvenue sur le site');
}
 
function testF() {
 alert('Merci d\'avoir rempli ce formulaire');
}
 
 
</script>


 
Dans le body
 

Spoiler :

<body onLoad="Chargement();">
.....
 
<form method='POST' action="enregistrement_catalogue_nouveau_client.php" onSubmit="testF();">
 
....
 
<input name="annee" type="text" size="4" maxlength="4" value="aaaa" onBlur="verifAnnee(document.form.annee.value);"/>....


 
Voilà, si quelqu'un pouvait m'aider ça serai très gentil, merci d'avance


Message édité par cryme le 14-05-2008 à 12:07:57
Reply

Marsh Posté le 14-05-2008 à 11:04:54   

Reply

Marsh Posté le 14-05-2008 à 11:21:16    

çà vient de la simple quote dans la fonction testF()
il croit que ton alert c'est
aler('Merci d'); et le reste fait bugger ton javascript vu que aprés la simple quote apres formulaire fait comme si tu réouvrer un texte.
 
Je sais pas comment on fait pour ignorer ce caractère dans la chaine, alors si tu le sais met le sur le forum, j'en aurai besoin
Merci
 

Reply

Marsh Posté le 14-05-2008 à 11:23:21    

on le despécialise avec l'\ juste avant ou on met des " à la place des 'mais même dans ce cas là, les autres fonctions devraient marcher mais elles ne marchent pas non plus puis celui là c'était juste pour voir si ça marchait ou pas, je comptais le remplacer par la vérification des champs
 
En fait c'est surtout verifAnnee qui me travaille U_U


Message édité par cryme le 14-05-2008 à 11:30:21

---------------
tsumi
Reply

Marsh Posté le 14-05-2008 à 11:25:59    

oui c vrai je suis con, c'est vrai que c'est le \
 
ouais mais la si tu le met pas, le navigateur , ne voit pas la fermeture de ta balise </script>
j'ai copié colle ton script sur mon logiciel de dev, et il voyait ton "</script>" comme du texte


Message édité par infoman64 le 14-05-2008 à 11:26:53
Reply

Marsh Posté le 14-05-2008 à 11:28:29    

t'es pas con, ça arrive d'oublier mais bon, ça résout pas le soucis de VerifAnnee (fonction qui elle normalement devrai marcher correctement U_U)
 
(j'ai édité le code en rajoutant la déspécialisation)


Message édité par cryme le 14-05-2008 à 11:29:16

---------------
tsumi
Reply

Marsh Posté le 14-05-2008 à 13:24:44    

utilise le debogeur de firefox(outils/console d'erreurs)
il detaille bien les erreurs javascript
 
puis apres pour tester si ta fonction est bien appelé,  
mais alert('ok') au debut de celle ci , et tu verrra deja si elle est appelé

Reply

Marsh Posté le 14-05-2008 à 13:28:43    

(je suis sous Iceape mais je sais le trouver dessus)
 
Erreur : missing ) after argument list
 
Ligne : 54, Colonne : 17
Code source :
  alert ('Vous n'avez pas entr&eacute; le m&ecirc;me mot de passe!');
 
Bien suuur mais encore?
 
code
 

Spoiler :

function testF()  
{
 if (document.formulaire.nom.value=="" )
  {
  alert ('Nom non renseign&eacute;');
  return false ;
  }
 if (document.formulaire.prenom.value=="" )
  {
  alert ('pr&eacute;om non renseign&eacute;');
  return false ;
  }
 if (document.formulaire.sexe.value=="" )
  {
  alert ('Genre non renseign&eacute;');
  return false ;
  }
 if ((document.formulaire.rue.value=="" ) || (document.formulaire.ville.value=="" ) || (document.formulaire.codepostal.value=="" ))
  {
  alert ('Adresse non renseign&eacute;e ou incompl&egrave;te');
  return false ;
  }
 if (document.formulaire.identifiant.value=="" )
  {
  alert ('Veuillez choisir un identifiant');
  return false ;
  }
 if ((document.formulaire.motdepasse.value)!=(document.formulaire.motdepasse2.value))
  {
  alert ('Vous n'avez pas entr&eacute; le m&ecirc;me mot de passe!');
  return false ;
  }
 
}


Message édité par cryme le 14-05-2008 à 13:34:04

---------------
tsumi
Reply

Marsh Posté le 14-05-2008 à 13:35:45    

probleme de simple quote a "vous n'avez entre le mot de passe"

Reply

Marsh Posté le 14-05-2008 à 13:39:49    

Ouin, j'en ai marre de faire des fautes bêtes U_U
 
Mais ce que je comprend pas, c'est que même avec le return false, je puisse passer à la page suivante...

Message cité 1 fois
Message édité par cryme le 14-05-2008 à 13:43:14

---------------
tsumi
Reply

Marsh Posté le 14-05-2008 à 14:27:45    

cryme a écrit :

Ouin, j'en ai marre de faire des fautes bêtes U_U
 
Mais ce que je comprend pas, c'est que même avec le return false, je puisse passer à la page suivante...


c'est ton onsubmit qui doit retourner false, là il ne retourne rien :
<form  onsubmit="return testF();" ... >
 
Et un petit return true; à la fin de testF pour que quand ça retourne pas false, ça retourne true

Reply

Marsh Posté le 14-05-2008 à 14:27:45   

Reply

Marsh Posté le 14-05-2008 à 16:17:59    

Merci beaucoup, presque tout marche, sauf pour mes boutons radio
 
Dans le head
 

Spoiler :


if ((document.formulaire.catalogue.value!="mer" ) || (document.formulaire.catalogue.value!="montagne" )
 
  alert('Vous n\'avez pas choisi votre catalogue!);
 
  return false;
 
  }
 return true;
}
 
if ((document.formulaire.sexe.value!="F" ) && (document.formulaire.sexe.value!="H" ))
  {
  alert ('veuillez entrer votre genre');
  return false ;
  }


 
dans le body
 

Spoiler :

<form method='POST' name="formulaire" action="enregistrement_catalogue_nouveau_client.php" onsubmit="return testF();">
 
....
 
<input name="annee" type="text" size="4" maxlength="4"/>
 
....
 
<INPUT type="radio" name="catalogue" value="mer">Mer<br/>
 
<INPUT type="radio" name="catalogue" value="montagne">Montagne

Message cité 1 fois
Message édité par cryme le 14-05-2008 à 17:08:25

---------------
tsumi
Reply

Marsh Posté le 14-05-2008 à 17:45:05    

cryme a écrit :

Merci beaucoup, presque tout marche, sauf pour mes boutons radio
 
Dans le head
 

Spoiler :


if ((document.formulaire.catalogue.value!="mer" ) || (document.formulaire.catalogue.value!="montagne" )
 
  alert('Vous n\'avez pas choisi votre catalogue!);
 
  return false;
 
  }
 return true;
}
 
if ((document.formulaire.sexe.value!="F" ) && (document.formulaire.sexe.value!="H" ))
  {
  alert ('veuillez entrer votre genre');
  return false ;
  }


 
dans le body
 

Spoiler :

<form method='POST' name="formulaire" action="enregistrement_catalogue_nouveau_client.php" onsubmit="return testF();">
 
....
 
<input name="annee" type="text" size="4" maxlength="4"/>
 
....
 
<INPUT type="radio" name="catalogue" value="mer">Mer<br/>
 
<INPUT type="radio" name="catalogue" value="montagne">Montagne



Code :
  1. if ((!document.formulaire.catalogue[0].checked) && (!document.formulaire.catalogue[1].checked))


document.formulaire.catalogue est un tableau comprenant tous les inputs qui ont comme name "catalogue"
 
Au passage, il y a des problèmes dans tes accolades et parenthèses il me semble

Reply

Marsh Posté le 14-05-2008 à 20:52:12    

D'accord, je comprend mieux
 
Pour les accolades, je vais voir, merci beaucoup


---------------
tsumi
Reply

Marsh Posté le 15-05-2008 à 06:44:46    

TU VOUDRAIS bien utiliser les balises [code][ /code] au lieu du spoiler s'il te plait ?

Reply

Sujets relatifs:

Leave a Replay

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