2015-07-10 79 views
0

这是我正在使用的代码片段。在这里根据我的预期,代码执行不会停止并且表单被提交。虽然警告框出现,但在按下“确定”之后,表单被提交。提醒框不停止执行/提交表格

$('.qto').each(function(index) {   
    if (jQuery.inArray($("#quota-" + (index + 1)).val(), quoatas) != -1) { 
     alert("Please check the different values you have entered"); 
     return false; 
    } 
    quoatas.push($("#quota-" + (index + 1)).val()); 
}); 
+1

你在哪里提交表格? –

回答

0

的问题是因为你的return false是有关它包含在,而不是submit处理形式(这我假设这个代码包含内)的匿名函数。作为一种解决方法,您可以使用传递给提交处理程序的eventpreventDefault()方法。试试这个:

$('#myForm').submit(function(e) { 
    $('.qto').each(function(index) {   
     if ($.inArray($("#quota-" + (index + 1)).val(), quoatas) != -1) { 
      e.preventDefault(); // stop the form submission 
      alert("Please check the different values you have entered"); 
     } 
     quoatas.push($("#quota-" + (index + 1)).val()); 
    }); 
}); 
0
you can use preventDefault() to stop form submission 
+0

请添加代码并说明preventDefault()如何停止表单提交 – Ram

0

您可以简单地使用这势必会像这样的形式事件处理程序,