HTML表单的动作和的onsubmit问题(HTML form action and onsubmi

2019-09-01 07:35发布

我想运行一些文本框输入的JavaScript用户验证。

我遇到的问题是,我的形式有我们的网站内去到一个新页面的动作,和onsubmit属性永远不会运行的JavaScript功能。

有没有更好的解决办法,或一个与下面的代码工作:注意:JavaScript文件书写正确,如果你切换动作工程checkRegistration()

这仅仅是与同时运行动作和JavaScript的问题。

<form name="registerForm" action="validate.html" onsubmit="checkRegistration()" method="post">
    <!-- textboxes here -->
    <!-- and submit button -->
</form>

Answer 1:

你应该停止通过返回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>


Answer 2:

尝试

onsubmit="return checkRegistration()"


Answer 3:

尝试:

onsubmit="checkRegistration(event.preventDefault())"


文章来源: HTML form action and onsubmit issues