我有asp:带LinkButton的GridView:
<asp:TemplateField>
<ItemTemplate>
<asp:LinkButton ID="Cancel" runat="server" OnClick="Cancel_Click" OnClientClick="return confirmCancel(this);">cancel</asp:LinkButton>
</ItemTemplate>
</asp:TemplateField>
我希望只有在confirmCancel返回true时才会发生服务器端事件 但我有一个奇怪的问题:
如果函数显式返回true -
return true;
事件发生。
如果函数显式返回false -
return false;
事件不会发生。
但如果函数返回带有true或false的变量 -
return x;
事件不会发生。
我放了调试器,看到x的值为true或false,并且没有未定义或者什么 问题是什么?
confirmCancel:
function confirmCancel(sender) {
var msg = "are you sure you want to cancel?"
var x = myConfirm(msg, sender);
return x;
}
myConfirm:
function myConfirm(msg, sender) {
if ($('#myConfirm').hasClass("hide")) {
$('#myConfirm').removeClass("hide");
$('#myConfirm p').text(msg);
$("#myConfirm input#btn-ok").unbind("click").click(function () {
$(sender).click();
return false;
});
return false;
}
else {
$('#alertify').addClass("hide");
return true;
}
}
我该如何解决?
答案 0 :(得分:0)
您可以使用解决方法直到发现问题:
function confirmCancel(sender) {
var msg = "are you sure you want to cancel?"
var x = myConfirm(msg, sender);
if (x == true)
{
return true;
}
else
{
return false;
}
}