我的代码出了问题。我有一个html表单,其中按钮在单击时提交但是会先进行一些检查,如果所有值都为true,则表单将被提交 - 但是在我的代码中,它不起作用。有没有人对此有所了解?
$("#button").click(function(e) {
e.preventDefault();
if ($(this).attr("at") == "1") { //some checking
alert("Subsssmitted");
$("form").submit(function() {
alert("Submitted"); // it didn't passed the form didn't submitted
});
}
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form action="">
<!-- some code -->
<button id="button" at="1">Submit</button>
</form>
答案 0 :(得分:1)
添加
$('#form').submit()
之后
$("form").submit(function(){
alert("Submitted"); // it didn't passed the form didn't submitted
});
因为您只是定义事件处理程序但不触发提交事件。
如果可能的话移动
$("form").submit(function(){
alert("Submitted"); // it didn't passed the form didn't submitted
});
点击事件处理程序
之外答案 1 :(得分:1)
你应该这样做:
$("#button").click(function(e){
e.preventDefault();
if($(this).attr("at") == "1"){ //some checking
alert("Subsssmitted");
// here you trigger event
$("form").submit();
}
});
// here you listen event
$("form").on("submit", function() {
alert("submitted")
})
答案 2 :(得分:0)
$('#myForm').submit(function(event){
// do your validation success
if(!success){
event.preventDefault();
}
console.log('fsdfsdfds');
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form id="myForm" action="/google">
<input type="text" id="name">
<button id="button" at="1" type="submit">Submit"></button>
</form>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
答案 3 :(得分:0)
您的代码适用于我,删除e.preventDefault()
并尝试,
$("#button").click(function(e){
if($(this).attr("at") == "1"){
$("form").submit(function(){
console.log('done');
});
}
});
<script src="https://code.jquery.com/jquery-3.1.0.js"></script>
<form action="">
<button id="button" at="1">Submit</button>
</form>
答案 4 :(得分:0)
刚删除&#34; e.preventDefault();&#34;按钮点击事件,它将正常工作。