Javascript 如何使用OnClientClick执行此操作
我有一个控件,它的属性如下Javascript 如何使用OnClientClick执行此操作,javascript,jquery,onclick,Javascript,Jquery,Onclick,我有一个控件,它的属性如下 OnClientClick="checkfn( resultfn(boolval) )" checkfn转到并显示模式确认。并在resultfn(boolval)中将结果返回为true或false 如何使OnClientClick获取该值并返回它。如果resultfn(boolval)=true,那么我希望它发回服务器,如果它为false,我希望取消 更新: 这就是checkfn目前所做的。见下文 function checkfn() {
OnClientClick="checkfn( resultfn(boolval) )"
checkfn转到并显示模式确认。并在resultfn(boolval)中将结果返回为true或false
如何使OnClientClick获取该值并返回它。如果resultfn(boolval)=true,那么我希望它发回服务器,如果它为false,我希望取消
更新:
这就是checkfn目前所做的。见下文
function checkfn() {
$("#dialog-confirm").dialog({
resizable: false,
height: 140,
modal: true,
buttons: {
Continue: function () {
$(this).dialog("close");
return true;
},
Cancel: function () {
$(this).dialog("close");
return false;
}
}
});
}
这不起作用,因为checkfn在返回内容之前没有等待对话框confirm。所以我的想法是,我想把东西放在Continue和Cancel函数中,以返回到resultfn(boolval),一个onclientclick可以使用的bool。使用onclientclick=“return checkfn(resultfn(boolval));”
。如果您进行了验证,这可能会中断验证,因为它将返回到早。在这种情况下,如果结果为false,则只希望返回:
OnClientClick="var result=checkfn(resultfn(boolval)); if (!result) return false;"
使用OnClientClick=“return checkfn(resultfn(boolval));”
。如果您进行了验证,这可能会中断验证,因为它将返回到早。在这种情况下,如果结果为false,则只希望返回:
OnClientClick="var result=checkfn(resultfn(boolval)); if (!result) return false;"
假设它位于提交按钮/链接上,则将其更改为
OnClientClick="return checkfn( resultfn(boolval) );"
这样试试看
function checkfn(buttonUniqueID) {
$("#dialog-confirm").dialog({
resizable: false,
height: 140,
modal: true,
buttons: {
Continue: function () {
$(this).dialog("close");
__doPostBack(buttonUniqueID, '');
},
Cancel: function () {
$(this).dialog("close");
}
}
});
然后更改OnClientClick
OnClientClick='return checkfn(<%= this.UniqueID %>);'
OnClientClick='return checkfn();'
假设这是在提交按钮/链接上,将其更改为
OnClientClick="return checkfn( resultfn(boolval) );"
这样试试看
function checkfn(buttonUniqueID) {
$("#dialog-confirm").dialog({
resizable: false,
height: 140,
modal: true,
buttons: {
Continue: function () {
$(this).dialog("close");
__doPostBack(buttonUniqueID, '');
},
Cancel: function () {
$(this).dialog("close");
}
}
});
然后更改OnClientClick
OnClientClick='return checkfn(<%= this.UniqueID %>);'
OnClientClick='return checkfn();'
您不能让在OnClientClick
中调用的JavaScript函数将值“返回”到服务器,但您可以在表单中填充隐藏的输入,以便在服务器端单击处理程序中读取值:
OnClientClick="document.getElementById('hidden').setAttribute('value', checkfn(resultfn(boolval)))"
您不能让在OnClientClick
中调用的JavaScript函数将值“返回”到服务器,但您可以在表单中填充隐藏的输入,以便在服务器端单击处理程序中读取值:
OnClientClick="document.getElementById('hidden').setAttribute('value', checkfn(resultfn(boolval)))"
@amit_g的答案非常接近。由于您使用的是jQueryUI对话框而不是window.confirm,因此checkfn()正在执行并返回。试着这样做:
<asp:Button ID="buttonUniqueId" ... OnClientClick="checkfn(); return false;" />
@amit_g的答案非常接近。由于您使用的是jQueryUI对话框而不是window.confirm,因此checkfn()正在执行并返回。试着这样做:
<asp:Button ID="buttonUniqueId" ... OnClientClick="checkfn(); return false;" />
与其让jQuery为您制作按钮,不如手动添加按钮,并使用链接按钮作为继续按钮。与其让jQuery为您制作按钮,不如手动添加按钮,并使用链接按钮作为继续按钮。但这只是返回checkfn是真还是假。在我的解决方案中,checkfn调用一个jquery小部件,它生成一个确认框,然后在resultfn(boolval)@RoboShop中返回结果:那么checkfn
的目的是什么呢?为什么不能返回resultfn(boolval)代码>?按照您描述的方式,checkfn似乎返回确认结果。如果是这样的话,当确认被取消时,应该停止提交,反之亦然。嗨,我已经尝试更新问题,使其更具体一点。谢谢,但这只是返回checkfn是真是假。在我的解决方案中,checkfn调用一个jquery小部件,它生成一个确认框,然后在resultfn(boolval)@RoboShop中返回结果:那么checkfn
的目的是什么呢?为什么不能返回resultfn(boolval)代码>?按照您描述的方式,checkfn似乎返回确认结果。如果是这样的话,当确认被取消时,应该停止提交,反之亦然。嗨,我已经尝试更新问题,使其更具体一点。谢谢