繁体   English   中英

jQuery按钮触发服务器端onclick事件

[英]jquery button trigger server side onclick event

我正在使用一个jquery对话框,当用户单击确定时,应该触发服务器端onclick事件,如果单击取消,则什么也没有发生。

我必须先通过preventDefault()函数来防止click函数。

  $(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事件。 有任何想法吗? 谢谢

event.preventDefault()放在取消部分或某种条件下,以便它不会在每次单击时都运行。

我认为您在服务器端和客户端之间感到困惑。 如果要在服务器端触发事件,则需要通知他(可以通过ajax调用来完成)。 click事件是客户端事件,不会在服务器端执行任何操作。 尝试在“确定”功能下放置一些代码,以通过ajax调用通知服务器。

无论如何,您应该将event.preventDefault()调用移至“取消”函数中。

编辑:另一种处理方法是防止不希望的提交发生。 在您的表单标签上添加onsubmit="foo()"并定义:

function foo(){
   //call your dialog and return true to continue the submit and false to cancel.
}

它看起来有点依赖于实现细节(即使它们被广泛使用以至于它们不会被更改),但是代码是这样的:

__doPostBack('submit','OnClick');

这将执行OnClick事件处理程序命名为控制submit 作为参考,请看一下有关回发在ASP.NET中如何工作的小教程。

https://stackoverflow.com/a/10583339/1202242

我用了两个按钮,一个被隐藏了。 它完美地解决了我的问题

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM