J'en apprend plus sur PHP/Javascript, en essayant de mettre en place un site Web de base. J'ai tout mis en place, mais il n'y a pas de validation sur l'enregistrement et autres joyeusetés. J'essaye d'utiliser Javascript pour valider le formulaire avant de le soumettre, mais ça ne marche pas pour moi. Voici ma page:Javascript ne fonctionne pas avant de soumettre au fichier php
<script language="JavaScript" type="text/javascript">
OK = false;
function validateEmail() {
var x = document.forms["form1"]["myemail"].value;
var atpos = x.indexOf("@");
var dotpos = x.lastIndexOf(".");
if(atpos < 1 || dotpos < atpos + 2 || dotpos + 2 >= x.length) {
alert("Not a valid e-mail address");
return false;
}
}
function notShortUsername() {
var x = document.forms["form1"]["myusername"].value;
if(x.value.length < 6) {
// set the focus to this input
OK = false;
}
OK = true;
}
function notShortPassword() {
var x = document.forms["form1"]["mypassword"].value;
if(x.value.length < 6) {
alert(helperMsg);
elem.focus();
// set the focus to this input
OK = false;
}
OK = true;
}
function validate() {
notShortUsername();
notShortPassword();
validateEmail();
if(OK) {
form.submit();
return true;
} else {
//do something else
alert("You did it wrong!");
return false;
}
}
</script>
<table width="300" border="0" align="center" cellpadding="0" cellspacing="1" bgcolor="#CCCCCC">
<tr>
<form name="form1" method="post" action="registervalidation.php" onsubmit="return validate">
<td>
<table width="100%" border="0" cellpadding="3" cellspacing="1" bgcolor="#FFFFFF">
<tr>
<td colspan="3"><strong>Member Login </strong></td>
</tr>
<tr>
<td width="78">Username</td>
<td width="6">:</td>
<td width="294">
<input name="myusername" type="text" id="myusername" />
</td>
</tr>
<tr>
<td>Password</td>
<td>:</td>
<td>
<input name="mypassword" type="password" id="mypassword" />
</td>
</tr>
<tr>
<td>Email</td>
<td>:</td>
<td>
<input name="myemail" type="text" id="myemail">
</td>
</tr>
<tr>
<td> </td>
<td> </td>
<td>
<input type="submit" name="Submit" value="Complete Registration">
<input type="submit" name="Submit" value="Cancel">
</td>
</tr>
</table>
</td>
</form>
</tr>
</table>
J'ai aussi essayé d'utiliser ceci: http://docs.jquery.com/Plugins/Validation
Le problème avec c'est elle ne valide pas lorsque l'élément perd le focus, et soumet toujours le php de toute façon.
Veuillez réduire le problème à sa forme minimale. – vemv
J'espère que vous ne validez pas * juste * sur le client. – NullUserException
Non, je fais aussi une validation sur le php qui repousse à la page d'enregistrement, mais je veux une validation du côté client qui vérifie la mise en forme avant qu'elle ne lance le php. –