Javascript 返回值以单击回调
我有一个Javascript 返回值以单击回调,javascript,jquery,asp.net,webforms,Javascript,Jquery,Asp.net,Webforms,我有一个,我使用jQuery处理点击。按下按钮时,我会显示一个自定义jQuery UI确认对话框 我打了2次电话;一个表示“是”-单击,一个表示“否”: 如果我使用标准的confirm()我可以执行以下操作: return confirm('are you sure?'); 但是在我的第一个示例中,如何将true或false返回给“外部单击函数”因为jQuery对话框不会阻止线程,所以单击函数总是会立即返回,所以需要执行return false;在最后,不管对话框结果如何,这样表单就不会被过帐
,我使用jQuery处理点击。按下按钮时,我会显示一个自定义jQuery UI确认对话框
我打了2次电话;一个表示“是”-单击,一个表示“否”:
如果我使用标准的confirm()
我可以执行以下操作:
return confirm('are you sure?');
但是在我的第一个示例中,如何将true或false返回给“外部单击函数”因为jQuery对话框不会阻止线程,所以单击函数总是会立即返回,所以需要执行return false;在最后,不管对话框结果如何,这样表单就不会被过帐 我通常会检查按钮上是否存在允许表单提交的数据属性,例如:
$('input[name="theButton"]').click(function(){
var $btn = $(this);
if($btn.data("dosubmit") == "true")) {
return true;
}
myPopUpMethod(function(){
$btn.data("dosubmit", "true").trigger("click");
}, function(){
// Do Nothing
});
return false;
});
第一次调用它时,jQueryUI对话框将弹出,该方法将阻止表单提交。用户单击对话框上的“是”后,将设置数据提交属性并再次触发按钮单击。在这个阶段,该方法会看到data dosubmit属性并尝试提交表单。对不起,我忘了提到我做了一个
e.preventDefault
来阻止它。此外,我知道我可以通过编程触发点击,但这是一个相当丑陋的解决方案,我想。难道没有更好的方法吗?你可以使用它而不是返回false;在我的示例中,如果您不希望此事件冒泡。如果这样做,则需要否定If()语句并将myPopUpMethod包装在其中。您可以使用服务器端的Page.GetPostBackEventReference获取导致回发的Javascript调用,并从Javascript方法手动调用:$('input[name=“theButton”]”。单击(function(){myPopUpMethod(function(){},函数(){//Do Nothing});})
我认为应该是ClientScript.GetPostBackEventReference
。谢谢我要试试看。
$('input[name="theButton"]').click(function(){
var $btn = $(this);
if($btn.data("dosubmit") == "true")) {
return true;
}
myPopUpMethod(function(){
$btn.data("dosubmit", "true").trigger("click");
}, function(){
// Do Nothing
});
return false;
});