Problème action formulaire

Bonjour,

j'ai un formulaire qui contient juste un champ de texte dont il faut entrer un adresse ip
j'ai réaliser un fonction javascript qui teste si le champ de texte est une adresse ip valide ou nn
mais le problème est que je veux que
-Si adresse valide il execute l'action du formulaire
-Sinon il affiche une alerte(c deja fait) et il reste dans la même page sans il y aura exection l'action du formulaire
voila le code
<html>
<head>
<script type="text/javascript">
<!--
function validerIP(ip){
var reg=/^\d{1,3}[.]\d{1,3}[.]\d{1,3}[.]\d{1,3}$/;
	if (reg.exec(ip)==null){
	alert("IP invalide");
	return false;
	}else{
	var tab=ip.split('.');
	var compterreur=0;
		for(i=0;i<4;i++){
			if ((tab[i]-'0')>255){
			compterreur++;
			}
		}
		if(compterreur==0){
		alert("IP valide");
		return true;
		}else{
		alert("IP invalide");
		return false;
		}
	}
}
//-->
</script>
</head>
<body>
<form name="formulaire">
<table><tr><td>
<input type="text" name="ip" style="width:130">
</td></tr><tr><td>
<input type="button" value="Vérifier" onClick="validerIP(formulaire.ip.value)">
</td></tr></table>
</form><noscript><a href="http://www.editeurjavascript.com/countus/">compteur live</a></noscript>
</body>
</html>
Configuration: Windows XP
Firefox 3.0.10

2 réponses

  • Votes
  • Date
  • Date décroissante
  1. Il faut rajouter l'action au formulaire et la ligne dans le cas ou l'IP est valide :

    alert("IP valide");
    document.forms['formulaire'].submit();
    1. ou comme ça:

      <html>
      <head>
      <script type="text/javascript">
      <!--
      function validerIP(ip){
      var reg=/^\d{1,3}[.]\d{1,3}[.]\d{1,3}[.]\d{1,3}$/;
      	if (reg.exec(ip)==null){
      	alert("IP invalide");
      	return false;
      	}else{
      	var tab=ip.split('.');
      	var compterreur=0;
      		for(i=0;i<4;i++){
      			if ((tab[i]-'0')>255){
      			compterreur++;
      			}
      		}
      		if(compterreur==0){
      		alert("IP valide");
      		return true;
      		}else{
      		alert("IP invalide");
      		return false;
      		}
      	}
      }
      //-->
      </script>
      </head>
      <body>
      <form name="formulaire" method="post" onSubmit="return validerIP(formulaire.ip.value);">
      <table><tr><td>
      <input type="text" name="ip" style="width:130">
      </td></tr><tr><td>
      <input type="submit" value="Vérifier" >
      </td></tr></table>
      </form><noscript><a href="http://www.editeurjavascript.com/countus/">compteur live</a></noscript>
      </body>
      </html>