Jquery 查找html5中是否存在提交函数返回错误

Jquery 查找html5中是否存在提交函数返回错误,jquery,html,Jquery,Html,我把html5验证放在我的网页上 <form class="" id="myForm" method="post" action="#" > <input type="text" required /> <input type="submit" /> </form> <div> <input type="button" id="myButton" /></div> 因此字段验证正确。但问题是,当表单触发错误时

我把html5验证放在我的网页上

<form class="" id="myForm" method="post" action="#" >
<input type="text"  required />
<input type="submit" /> </form>
<div> <input type="button" id="myButton" /></div>
因此字段验证正确。但问题是,当表单触发错误时,myNewfunction也会执行。如何防止这种情况。如果表单不正确,myNewfunction也不应该执行,我的验证应该同时工作

谢谢你的方式:

$("#myForm").submit(function(){
    if(validatemyform()){// form succesfully validated
        $("#myForm").submit(); // submit manually (not needed), it does it anyway when not returning false
    } else {
        return false; //don't submit form
    }
});
验证表单的更清晰示例:

$( "#myForm" ).submit(function( event ) {
    return validatemyform();
});
您的验证功能:

function validatemyform(){
   ...
   return true; //when validated
   ...
   return false; // when not
}

使用HTML5
checkValidity
形式方法,例如:

$("#myButton").click(function(){
    if(!$("#myForm")[0].checkValidity()) return;

    $("#myForm").submit();
    // or call: myNewfunction();
});

顺便说一句,不要触发默认情况下不执行任何操作的表单的单击事件,而是提交表单。

为什么要在表单上触发单击事件,为什么不使用提交事件?我的单击按钮不在表单中。原因是我隐藏了提交按钮并从外部触发。checkValidity方法的目的是检查必填字段,所以它必须像这里一样工作:请单击按钮..验证不起作用好的,我理解你的意思,但只需触发提交单击:
$(“#myForm”)。查找(“:提交”)。单击()它不工作。两者同时执行。请检查它jsfiddle.net/sr5Fu/1两者是什么?单击
#myButton
如果表单无效,则不应提交表单。现在考虑提供一个JSFIDLE来复制您的问题。。。在我看来,我提供的JSFIDLE是有效的。那么,这个JSFIDLE是否如您所期望的那样工作?如果没有,告诉我们你期望什么
$("#myButton").click(function(){
    if(!$("#myForm")[0].checkValidity()) return;

    $("#myForm").submit();
    // or call: myNewfunction();
});