0

我创建一个这样的注册页面

<form name='registration' action="registration.php" method="post" onSubmit="return formValidation();">
    FirstName:<input type = "Text" name = "firstname">
    <input type = "submit" name = "register" value="register">
</form>

这是我的javascript函数

function formValidation() {  
   var fn = document.registration.firstname;
   if ( fname_validation( fn ) ) {}
}

function fname_validation( fn ) {
   var fn_len = fn.value.length;
   var fn_char = /^[A-Za-z]+$/;
   if ( fn_len == 0 ) {
       alert("first name cannot empty");
       return false;
   }
   if ( !fn.value.match( fn_char ) ) {
       alert("first name must enter alphabet only");
       return false;
   } else {
       return true;
   }
}

注册表正在工作,但如果用户输入一个数字,它会提醒并重新加载页面,这将刷新页面。如果我想在用户输入错误时不刷新页面以保持用户输入,该怎么办?

4

3 回答 3

1

在您的 javascript 中,您应该返回正确的值...

例子:

function formValidation() {  
   var fn = document.registration.firstname;
   return fname_validation( fn );
}
于 2013-09-16T05:31:41.303 回答
0

在表单提交中添加 return false

<form name='registration' action="registration.php" method="post" onSubmit="return formValidation();return false;">
    FirstName:<input type = "Text" name = "firstname">
    <input type = "submit" name = "register" value="register">
    </form>
于 2013-09-16T05:27:05.873 回答
0

为了防止表单提交,只需在您的 formValidation() 函数中返回 false

于 2013-09-16T05:28:06.230 回答