Javascript 信息不正确/未输入时提交表单

Javascript 信息不正确/未输入时提交表单,javascript,html,css,Javascript,Html,Css,如果用户没有输入信息或输入错误,我不希望提交我的表单。当我点击提交按钮时,它却提交了它。我在javascript中有一些代码可以实现这一点。我从另一个表单验证中复制了它,但它在我的表单验证中不起作用 这是我为“提交”按钮添加的内容: var submitButton = document.querySelector('#submit'); submitButton.onclick = function(){ var nameIsValid = checkName(); var

如果用户没有输入信息或输入错误,我不希望提交我的表单。当我点击提交按钮时,它却提交了它。我在javascript中有一些代码可以实现这一点。我从另一个表单验证中复制了它,但它在我的表单验证中不起作用

这是我为“提交”按钮添加的内容:

var submitButton = document.querySelector('#submit');

submitButton.onclick = function(){
    var nameIsValid = checkName();
    var emailIsValid = checkEmail();
    var passwordIsValid = checkPassword();

    var valid = nameIsValid && emailIsValid && passwordIsValid;

    // stop default action if valid still equals false
    return valid;
}
您可以在我的小提琴中查看我的完整代码:
我总是将检查例行程序包含在
本身的onSubmit中,例如

<form method=get action="formhandler.asp" onSubmit="return checkForm(this);">

这样做的好处是也能给你提供范围,而且我不必到处都是回顾性的任务


希望有帮助

将按钮类型更改为按钮。因为我相信您的默认表单提交已经发生,并且提交单击事件没有按照您的意愿工作

<input type="button" id="submit" value="Submit"/>

也可以使用Javascript的表单提交事件


我会考虑使用jQuery和验证器插件。JQuery的主要优点是preventDefault()方法,它可以阻止按钮按预期的方式触发。使用验证器,您将检查表单是否有效,如果有效,则提交表单。您也可以这样使用AJAX。如果表单无效,您将立即返回反馈。我可以在手机关机后发布一个例子

更改您提交的
按钮
键入按钮

<input type="button" id="btn_id" value="Submit"/>

您应该处理
表单
的提交事件,而不是
提交按钮
单击事件。只需
返回
提交时的验证函数调用,像这样:
不是我,但你可能被否决了,因为这要么没有解决问题,要么你的竞争对手试图诋毁你。您好,是的,我很愿意,但我的任务需要javascript,不幸的是:(JQuery是JS。它是一个让生活更简单的框架。如果您不能使用JQuery,我会按照建议返回验证器单击Submit(从表单中)(如上@hector或@karlen所述)。
$('#btn_id').click(function(){
    var nameIsValid = checkName();
    var emailIsValid = checkEmail();
    var passwordIsValid = checkPassword();

    var valid = nameIsValid && emailIsValid && passwordIsValid;

    if(!valid)
    {
        alert('Invalid Fields');
    }
    else
    {
        $('#form_id').submit();
    }
});