我正在使用jquery对话框,当用户单击ok时,应该触发服务器端onclick事件,如果单击取消,则不会发生任何事情。
我必须通过preventDefault()函数在开头阻止点击功能。
$(document).ready(function () {
$("#<%=submit.ClientID %>").click(function (event) {
event.preventDefault();
$("#confirm").dialog({
buttons: {
"OK": function () { $(this).dialog("close");
Here should be the code to trigger the server side click event
},
"Cancel": function () { $(this).dialog("close");},
}
});
});
});
我不知道如何触发服务器端onclick事件。有任何想法吗?感谢
答案 0 :(得分:0)
将event.preventDefault()
放入取消部分或某种条件中,以便每次点击都不会运行。
答案 1 :(得分:0)
我认为您在服务器端和客户端之间感到困惑。 如果你想在服务器端触发事件,你需要通知他(可以通过ajax调用完成)。 click事件是一个客户端事件,它不会在服务器端执行任何操作。 尝试在“确定”功能下放置一些代码,通过ajax调用通知服务器您想要的任何内容。
无论如何,你应该将event.preventDefault()
电话移动到“取消”功能。
编辑:另一种接近它的方法是阻止提交发生,如果你不想要它。在您的表单标记处添加onsubmit="foo()"
并定义:
function foo(){
//call your dialog and return true to continue the submit and false to cancel.
}
答案 2 :(得分:0)
它看起来有点依赖于实现细节(即使它们如此广泛使用以至于它们不会被更改)但代码是这样的:
__doPostBack('submit','OnClick');
这将为名为OnClick
的控件执行submit
事件处理程序。作为参考,请参阅这个关于how postbacks works in ASP.NET的小教程。
答案 3 :(得分:0)
https://stackoverflow.com/a/10583339/1202242
我使用了两个按钮,其中一个是隐藏的。 它完美地解决了我的问题