一尘不染

HTML表单操作和提交问题

javascript

我想在某些文本框条目上运行javascript用户验证。

我遇到的问题是我的表单具有进入我们站点内新页面的作用,并且该onsubmit属性从未运行javascript函数。

有没有更好的解决方案,或者是可以使用以下代码的解决方案:注意:javascript文件编写正确,如果将操作切换为,则可以正常工作checkRegistration()

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

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

阅读 265

收藏
2020-05-01

共1个答案

一尘不染

您应该通过在onsubmit回调上返回false来停止提交过程。

<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>
2020-05-01