我正在处理html表单 我的HTML代码是
<form onsubmit="check_credentials()" action="index.php/welcome/add" method="post">
<div class="sign_up_entry"> <span>Email Address:</span> <input type="text" id="signup_email" name="email" class="form-control" onfocusout="check_credentials_email()"/></div>
<div class="sign_up_entry"> <span>Username:</span> <input type="text" id="signup_username" name="username" class="form-control" onfocusout="check_credentials_username()"/></div>
<div class="sign_up_entry"> <span>Password:</span> <input type="password" id="signup_password" name="password" class="form-control"/></div>
<button value="Sign Up" type="submit" class="btn">Sign Up</button>
</form>
和javascript是
function check_credentials()
{
return false;
}
但我的表单总是被提交,问题是什么?
答案 0 :(得分:4)
您必须从事件处理函数返回false,但您没有返回任何内容。
您的事件处理函数正在调用check_credentials
,对其返回值不执行任何操作,然后自行返回任何内容。
onsubmit="return check_credentials()"
通常,最好避免使用内部事件处理程序属性,unobtrusively绑定事件处理程序。
e.g。
document.querySelector('form').addEventListener('submit', check_credentials);
function check_credentials(evt) {
evt.preventDefault();
}