我想运行一些文本框输入的JavaScript用户验证。
我遇到的问题是,我的形式有我们的网站内去到一个新页面的动作,和onsubmit
属性永远不会运行的JavaScript功能。
有没有更好的解决办法,或一个与下面的代码工作:注意:JavaScript文件书写正确,如果你切换动作工程checkRegistration()
这仅仅是与同时运行动作和JavaScript的问题。
<form name="registerForm" action="validate.html" onsubmit="checkRegistration()" method="post">
<!-- textboxes here -->
<!-- and submit button -->
</form>
你应该停止通过返回false提交程序的onsubmit回调。
<script>
function checkRegistration(){
if(!form_valid){
alert('Given data is not correct');
return false;
}
return true;
}
</script>
<form onsubmit="return checkRegistration()"...
更新:
在这里你已经完全工作的例子,形式会当你写Google进军输入只提交,否则将返回错误:
<script>
function checkRegistration(){
var form_valid = (document.getElementById('some_input').value == 'google');
if(!form_valid){
alert('Given data is incorrect');
return false;
}
return true;
}
</script>
<form onsubmit="return checkRegistration()" method="get" action="http://google.com">
Write google to go to google..<br/>
<input type="text" id="some_input" value=""/>
<input type="submit" value="google it"/>
</form>
尝试
onsubmit="return checkRegistration()"
尝试:
onsubmit="checkRegistration(event.preventDefault())"