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

 


Dernière réponse
Sujet : [ Javascript ] Vérification de formulaire
DevKiller 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" );  
      }  
    }  
  }  
 
:)

Votre réponse
Nom d'utilisateur    Pour poster, vous devez être inscrit sur ce forum .... si ce n'est pas le cas, cliquez ici !
Le ton de votre message                        
                       
Votre réponse


[b][i][u][strike][spoiler][fixed][cpp][url][email][img][*]   
 
   [quote]
 

Options

 
Vous avez perdu votre mot de passe ?


Vue Rapide de la discussion
DevKiller 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" );  
      }  
    }  
  }  
 
:)
shinji 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 ;)
lamatrice met ton focus() après le alert, inverse les deux ligne quoi.
shinji Plizzz???
shinji 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 !!!
lamatrice bien pour le focus c'est  document.max1.focus();
 
 
et finalement ça marche sans le eval c'est ça ?
shinji 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 :)
lamatrice et ça  document.f1.max1.value="";
shinji 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.
lamatrice 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
shinji SVP ??
shinji 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.
lamatrice pour vider un fields c'est setText("" );
shinji 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)
lamatrice et c'est quoi la question ?
 
 
enfin seulement si tu veux une réponse
shinji <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>

Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)