简体   繁体   English

防止在用户输入错误时重新加载页面

[英]prevent reload page when user input is wrong

i creating a registration page like this 我创建这样的注册页面

<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>

and here is my javascript function 这是我的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;
   }
}

the registration form is working but in case user input a number, it will alert and reload the page which will refresh the page. 注册表格正在运行,但是如果用户输入了号码,它将提醒并重新加载页面,从而刷新页面。 if i want when user wrong input and not refreshing the page to keep the user input, how to do it? 如果我想在用户输入错误时不刷新页面以保持用户输入,该怎么办?

In your javascript you should return the proper value... 在您的JavaScript中,您应该返回正确的值...

Example: 例:

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

Add return false in form submit 在表单提交中添加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>

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM