HTML form action and onsubmit issues

☆樱花仙子☆ 提交于 2019-11-26 04:47:25

问题


I am wanting to run javascript user validation on some textbox entries.

The problem I\'m having is that my form has the action of going to a new page within our site, and the onsubmit attribute never runs the javascript function.

Is there a better solution, or one that works with the following code: NOTE: the javascript file is written correctly and works if you switch the action to checkRegistration().

It is merely an issue with running both action and javascript.

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

回答1:


You should stop submit procedure by returning false on onsubmit callback.

<script>
function checkRegistration(){
    if(!form_valid){
        alert('Given data is not correct');
        return false;
    }
    return true;
}
</script>
<form onsubmit="return checkRegistration()"...

UPDATE:

here you have fully working example, form will submit only when you write google into input, otherwise it will return error:

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



回答2:


Try

onsubmit="return checkRegistration()"



回答3:


try:

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


来源:https://stackoverflow.com/questions/16262797/html-form-action-and-onsubmit-issues

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!