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

  FORUM HardWare.fr
  Programmation

  [ Javascript ] Vérification de formulaire

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[ Javascript ] Vérification de formulaire

n°53199
shinji
Posté le 17-08-2001 à 10:34:02  profilanswer
 

<html>
<head>
<script>
function verifie(val,num){
   if(val=='max'){
      if(eval("document.f1.min"+num+".value" )==''){
           alert("Remplissez d'abord la valeur minimale de l'intervalle" );
      }else{
           if(eval("document.f1.min"+num+".value" )>eval("document.f1."+val+num+".value" )){
              document.f1.+val+num+.value=;
              alert("Valeur incorrecte" );
           };
      };
   };
}
</script>
</head>
<body>
<form name="f1" method="post" action="cartefinale.php">
Intervalle 1 <input type="text" name="min1" onclick="verifie('min','1');"> <input type"text" name="max1" onblur="verifie('max','1');"><br>
Intervalle 2 <input type="text" name="min2" onclick="verifie('min','2');"> <input type"text" name="max2" onblur="verifie('max','2');"><br>
Intervalle 3 <input type="text" name="min3" onclick="verifie('min','3');"> <input type"text" name="max3" onblur="verifie('max','3');"><br>
Intervalle 4 <input type="text" name="min4" onclick="verifie('min','4');"> <input type"text" name="max4" onblur="verifie('max','4');"><br>
Intervalle 5 <input type="text" name="min5" onclick="verifie('min','5');"> <input type"text" name="max5" onblur="verifie('max','5');"><br>
Intervalle 6 <input type="text" name="min6" onclick="verifie('min','6');"> <input type"text" name="max6" onblur="verifie('max','6');"><br>
</form>
</body>
</html>

mood
Publicité
Posté le 17-08-2001 à 10:34:02  profilanswer
 

n°53201
lamatrice
Posté le 17-08-2001 à 10:36:02  profilanswer
 

et c'est quoi la question ?
 
 
enfin seulement si tu veux une réponse

n°53205
shinji
Posté le 17-08-2001 à 10:38:25  profilanswer
 

Désolé, j'ai voulut rajouter la question et un mouvement malencontreus sur la touche entrée...
 
Comment faire dans le code en gras pour vider le inputtext correspondant??
Est-ce que la méthode est correcte ou il y a plus facile?
(je fais du php aussi si ça peut aider)

n°53210
lamatrice
Posté le 17-08-2001 à 10:41:25  profilanswer
 

pour vider un fields c'est setText("" );

n°53217
shinji
Posté le 17-08-2001 à 10:52:36  profilanswer
 

J'ai fait ça mais ça ne marche pas:
 
eval("document.f1."+val+num+".setText('')" );
 
J'ai un "document.f1.max1.setText is not a function"
Si je met des " à la place des ' , ça crée une erreur à cause de la concaténation.

n°53243
shinji
Posté le 17-08-2001 à 11:43:59  profilanswer
 

SVP ??

n°53246
lamatrice
Posté le 17-08-2001 à 11:49:05  profilanswer
 

t'as essayer de mettre directement document.f1.max1.setText() ?
 
hypothèse 1 : c'est à cause du eval que settext prends pas
donc
stock d'abord le resultat de eval dans un variable avant de faire un settext

n°53251
shinji
Posté le 17-08-2001 à 12:00:36  profilanswer
 

J'ai essayé direct sans le eval de mettre :
document.f1.max1.setText();
document.f1.max1.setText("" );  
document.f1.max1.setText('');
 
Dans les 3 cas j'ai "document.f1.max1.setText" n'est pas une fonction.
 
J'a iessayé avec un variable intermédiaire, ça ne marche pas non plus.

n°53256
lamatrice
Posté le 17-08-2001 à 12:06:03  profilanswer
 

et ça  document.f1.max1.value="";

n°53261
shinji
Posté le 17-08-2001 à 12:17:31  profilanswer
 

J'avais déjà essayé mais en fait avec le eval ça passe pas. J'ai fait comme t'as dit en passant par une variable intermédiaire pour le eval. Merci
 
PS: Comment fait on pour donner le focus à un input text?
 
Merci encore :)

mood
Publicité
Posté le 17-08-2001 à 12:17:31  profilanswer
 

n°53262
lamatrice
Posté le 17-08-2001 à 12:27:54  profilanswer
 

bien pour le focus c'est  document.max1.focus();
 
 
et finalement ça marche sans le eval c'est ça ?

n°53298
shinji
Posté le 17-08-2001 à 13:50:25  profilanswer
 

Voilà mon nouveau code:
Seulement j'ai encore un dernier petit prob, c'est que sous IE, le input text si je tape une valeur max < à la valeur min le input text est effacé, un message s'affiche et il reprend bien le focus pour que je tape une nouvelle valeur mais sous Netscape, je clique sur ok et j'ai pas le temps de saisir un nouvelle valeur, il ré-affiche "mauvaise valeur"!
Comment ça se fait, pourtant onblur, c'est bien quand il perd le focus?? Il ne devrait pas déclencher la fonction.
 
<html>
<head>
<script>
function verifie(val,num){
              var doc;
   if(val=='max'){
      if(eval("document.f1.min"+num+".value" )==''){
           alert("Remplissez d'abord la valeur minimale de l'intervalle" );
      }else{
           if(eval("document.f1.min"+num+".value" )>eval("document.f1."+val+num+".value" )){
              doc=eval("document.f1."+val+num);
              doc.value="";
              doc.focus();
              alert("Valeur incorrecte" );

           };
      };
   };
}
</script>
</head>
<body>
<form name="f1" method="post" action="cartefinale.php">
Intervalle 1 <input type="text" name="min1" onclick="verifie('min','1');"> <input type"text" name="max1" onblur="verifie('max','1');"><br>
Intervalle 2 <input type="text" name="min2" onclick="verifie('min','2');"> <input type"text" name="max2" onblur="verifie('max','2');"><br>
Intervalle 3 <input type="text" name="min3" onclick="verifie('min','3');"> <input type"text" name="max3" onblur="verifie('max','3');"><br>
Intervalle 4 <input type="text" name="min4" onclick="verifie('min','4');"> <input type"text" name="max4" onblur="verifie('max','4');"><br>
Intervalle 5 <input type="text" name="min5" onclick="verifie('min','5');"> <input type"text" name="max5" onblur="verifie('max','5');"><br>
Intervalle 6 <input type="text" name="min6" onclick="verifie('min','6');"> <input type"text" name="max6" onblur="verifie('max','6');"><br>
</form>
</body>
</html>
 
Merci Grand MERCI !!!

n°53337
shinji
Posté le 17-08-2001 à 15:33:07  profilanswer
 

Plizzz???

n°53338
lamatrice
Posté le 17-08-2001 à 15:35:53  profilanswer
 

met ton focus() après le alert, inverse les deux ligne quoi.

n°53351
shinji
Posté le 17-08-2001 à 15:52:53  profilanswer
 

Merci Oh Grand MERCI! (je sais pas comment faire le symbole du smilie avec un chapeau chinois qui incline la tête mais je le pense)
 
ça m'énerve cette compatibilité javascript!
Tu connais un site ou y a une bonne doc avec les prob de compatibilité ou au moins une doc détaillée parce que celles que j'ai, c'est pas tip top?
Enfin merci, je sais à qui m'adresser maitenant en javascript ;)

n°53550
DevKiller
Posté le 19-08-2001 à 04:01:24  profilanswer
 

une autre variante serait :
 
  /***************************************/
  function verifie(val,num)
  {
    var elt = document.f1.elements;  
 
    if(val=='max')
    {  
      if(elt["min"+num].value=='')
        alert("Remplissez d'abord la valeur minimale de l'intervalle" );  
      else if(elt["min"+num].value > elt[val+num].value)
      {  
        elt[val+num].value = "";
        alert("Valeur incorrecte" );  
      }  
    }  
  }  
 
:)


---------------
"L'imagination est plus importante que la connaissance" - A. E.

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

  [ Javascript ] Vérification de formulaire

 

Sujets relatifs
javascript: pop up[javascript] comment executer un script sans ecrire ni....
[PHP] et JavaScript[Javascript] Encodage paramètres
j'aimerais démarer l'ASP et/ ou le JAVASCRIPTEffacer ma fenêtre avant d'ecrire dedans en Javascript...
[HTML, Javascript] Ca existe les Tree ds ces langages ?[javascript] Un bug mais c pas ma faute
URGENT!!! Rendre un popup javascript modal comme confirm ou alert...Ya t-il un equivalent en JavaScript à la function include en php...??
Plus de sujets relatifs à : [ Javascript ] Vérification de formulaire


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