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

  FORUM HardWare.fr
  Programmation
  HTML/CSS

  validation d'un form avec condition 1 et/ou 2

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

validation d'un form avec condition 1 et/ou 2

n°1831950
shubnigg
Posté le 28-12-2008 à 17:38:15  profilanswer
 

bonjour, voila j'ai un simple formulaire et pour poster et le valider j'ai mis en place un petit script mais apparemment j'ai du raté un truc parce que ça marche pas...
Pour faire simple je dois saisir un nom, un auteur et soit un fichier et/ou soit un texte mais vérifier qu'aucun des cas ne passent si les 2 sont vides.
or d'après le peu que je connaisse en javascript sur les structure conditionnelle if ((condition1)||(condition2)) exécutera les instructions si l'une ou l'autre des deux conditions est vraie ; hors là ça ne fonctionne déjà pas et ça ne correspond pas à ce que je souhaite ce serait plus du genre et/ou (&&||) :(
 

Code :
  1. <script language="Javascript">
  2. <!--
  3. function valideForm(form) {
  4.   if (form.name.value.length == "" ) {
  5.     alert('Merci de saisir un nom !\n\n');
  6.     return false;
  7.   }
  8.   if (form.author.value.length == "" ) {
  9.     alert('Merci de saisir un auteur !\n\n');
  10.     return false;
  11.   }
  12.   if ((form.nomfichier.value.length == "" )||(form.textes.value.length == "" )){
  13.     alert('Veuillez saisir ou le nom du fichier ou le texte !\n\n');
  14.     return false;
  15.   }
  16.   return true;
  17. }
  18. // -->
  19. </script>
  20. <form name="form1" method="post" action="do_upload.php" enctype="multipart/form-data"  onSubmit="return valideForm(this)">
  21. <table border="0" summary="">
  22. <tr>
  23.  <td class="input_box2">NAME</td>
  24.  <td class="input_box2">AUTHOR</td>
  25.  <td class="input_box2">FILE</td>
  26.  <td></td>
  27. </tr>
  28. <tr>
  29.  <td><input type="text" name="name" size="60" class="input_box"></td>
  30.  <td><input type="text" name="author" size="20" class="input_box"></td>
  31.  <td><input type=file name="nomfichier" size="30" class="input_box"></td>
  32.  <td></td>
  33. </tr>
  34. <tr>
  35.  <td class="input_box2">texte</b></td>
  36.  <td colspan="3"><textarea name="textes" cols="54" rows="10" wrap="virtual" class="input_box5"></textarea></td>
  37. </tr>
  38. <tr>
  39.  <td><input type="submit" name="Submit" value="Submit" class="input_box"></td>
  40. </tr>
  41. </table>
  42. </form>


je sèche un peu là est ce que vous auriez une idée ?
merci d'avance


Message édité par shubnigg le 28-12-2008 à 17:40:01
mood
Publicité
Posté le 28-12-2008 à 17:38:15  profilanswer
 

n°1831954
Profil sup​primé
Posté le 28-12-2008 à 18:09:05  answer
 

Tu veux dire seulement si l'une des deux conditions est vraie ?
Alors tu dois utiliser l'opérateur XOR.
Celui ci n'existe pas en JS, il faut simuler son comportement.
Lien google :
http://www.howtocreate.co.uk/xor.html
;)

n°1831963
shubnigg
Posté le 28-12-2008 à 19:19:51  profilanswer
 

Je vais aller voir cette commande, merci .
En même temps je comprend pas que le code ci dessous ne fonctionne pas :(

Code :
  1. if ((form.nomfichier.value.length == "" )||(form.textes.value.length == "" )){
  2.      alert('Veuillez saisir ou le nom du fichier ou le texte !\n\n');
  3.      return false;


en effet que je remplisse l'un ou l'autre des champs j'ai toujours le message d'alerte

n°1831964
Profil sup​primé
Posté le 28-12-2008 à 19:24:46  answer
 

essaye çà :
 

Code :
  1. if ((form.nomfichier.value.length == 0)||(form.textes.value.length == 0 )){
  2.     alert('Veuillez saisir ou le nom du fichier ou le texte !\n\n');
  3.     return false;

n°1831969
shubnigg
Posté le 28-12-2008 à 19:38:45  profilanswer
 

Non pareil quoi que j'entre j'ai toujours la boiter d'alerte.
Mais si j'entre une valeur dans nomfichier et textes là cela passe...
On dirait qu'il voit cela comme une condition &&

n°1831970
Profil sup​primé
Posté le 28-12-2008 à 19:41:25  answer
 

ah non je suis bete c'est normal
Regarde, tu vérifies si un d'entre eu est vide : si oui, tu affiches la boite de dialogue. Donc si un seul d'entre eux est vide alors c'est normal que la boite s'affiche !

n°1831974
shubnigg
Posté le 28-12-2008 à 19:46:35  profilanswer
 

Heu...
ça m'embrouille là... ;)
En faite le but c'est de savoir si un des 2 est pleins ou les 2 mais si les 2 sont vides il faut faire l'alerte sinon on envoie le form.  
Donc d'après ce que tu dis il faudrait que je regarde s"ils sont différents de vides c'est ça ?

n°1832213
Profil sup​primé
Posté le 29-12-2008 à 15:25:18  answer
 

bah, oui, et là tu n'as même pas besoin de xor.
Ton problème est super simple à résoudre :
 
si texte vide && fichier vide => alert !

n°1832262
shubnigg
Posté le 29-12-2008 à 17:28:13  profilanswer
 


 
Exact c'est plus simple :)
 

Code :
  1. if ((form.nomfichier.value.length == "" )&&(form.textes.value.length == "" )){
  2.        alert('Veuillez saisir ou le nom du fichier ou le texte !\n\n');
  3.        return false;
  4.     }


Je cours tester cela ;)
ps : merci beaucoup

n°1832287
Profil sup​primé
Posté le 29-12-2008 à 19:47:20  answer
 

compare plutot à 0 je crois que c'est le plus fiable :/ à confirmer :/


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

  validation d'un form avec condition 1 et/ou 2

 

Sujets relatifs
Modification de code PHP pour ajouter une conditionEXCEl : Condition SI ==> Regroupez des pays selon un Code
PHP FORM MYSQLvalidation sur pdf
Validation d'un formulaire sans changer de pageafficher div en javascript après validation formulaire non validée
Pb validation page HTMLredirection apres validation du formulaire + email saisie valide
Validation formulaire : affiche image devant réponses justes ou fausse 
Plus de sujets relatifs à : validation d'un form avec condition 1 et/ou 2


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