如何使用JQUERY停止表单提交?
我有一个表格,里面有很多复选框。用户将选中一个或多个复选框,然后单击“删除”按钮(实际上是“提交”按钮),然后删除所选复选框的相应记录 所需操作步骤如下:- 当用户选择一个或多个复选框并单击submit按钮时,将执行JQUERY代码,其中如何使用JQUERY停止表单提交?,jquery,Jquery,我有一个表格,里面有很多复选框。用户将选中一个或多个复选框,然后单击“删除”按钮(实际上是“提交”按钮),然后删除所选复选框的相应记录 所需操作步骤如下:- 当用户选择一个或多个复选框并单击submit按钮时,将执行JQUERY代码,其中 它应该检查是否选中了任何复选框;若否,;然后,is显示警告消息,不提交表单 如果发现选中了一个或多个复选框,则应使用有关确认删除的确认警报框要求用户进行确认 如果用户按下确认框上的YES按钮,则应使用javascript提交语句提交表单 如果用户按下“否”按钮
$(document).ready(function () {
$("#id_delete").click(function() {
var temp = $("#id_frm input:checkbox:checked");
var len = temp.length;
if(len==0) {
alert("Please select the order.");
} else {
if (confirm("Are you sure to delete the selected orders.")) {
$("#id_frm").submit();
} else {
temp.checked=false;
}
}
});
});
问题:
此代码工作不正常。在这里
1.如果未选中复选框,则提交表单。
2.当用户在“确认”对话框中按“否”按钮时,它将提交表单
我只想在按钮点击事件上写这段代码
请在这个问题上指导我的朋友。这里是一般模式
$('form').submit(function () {
// return true to submit, return false to stop submit
});
以下是如何:
$("#id_frm").submit(function(ev){
ev.preventDefault();
});
由于id_delete是submit按钮,因此需要在click事件处理程序中调用preventDefault()来停止表单的提交:
$(document).ready(function (){
$("#id_delete").click(function(e){ // add "e" for click event object
var temp=$("#id_frm input:checkbox:checked");
var len=temp.length;
if(len==0) {
alert("Please select the order.");
e.preventDefault(); // stop form submission
} else {
if(confirm("Are you sure to delete the selected orders.")) {
// no need to submit the form manually
// the browser will do so after this function completes successfully
// $("#id_frm").submit();
} else {
temp.checked=false;
e.preventDefault(); // prevent default here as well
}
}
});
});
您能编辑jQuery代码以便我们阅读吗?:)你好,朋友!感谢您的快速回复,但实际上根据您的代码,它会在表单提交时进行检查,但实际上我希望在单击按钮时使用此功能,因为表单上还有其他提交的事件。你好,朋友!感谢您的快速回复,但实际上,根据您的代码,它会在表单提交时进行检查,但实际上我希望在单击按钮时使用此功能,因为表单上还有其他提交的事件。
$(document).ready(function (){
$("#id_delete").click(function(e){ // add "e" for click event object
var temp=$("#id_frm input:checkbox:checked");
var len=temp.length;
if(len==0) {
alert("Please select the order.");
e.preventDefault(); // stop form submission
} else {
if(confirm("Are you sure to delete the selected orders.")) {
// no need to submit the form manually
// the browser will do so after this function completes successfully
// $("#id_frm").submit();
} else {
temp.checked=false;
e.preventDefault(); // prevent default here as well
}
}
});
});