【问题标题】:Call another Javascript function when it returns true返回 true 时调用另一个 Javascript 函数
【发布时间】:2014-06-13 20:20:23
【问题描述】:

我的页面上有一个图像按钮。当我点击它时,我会打开确认框:

function confirmDelete() {
   if (confirm('Do you really want to delete this Image?') == true) {
       return true;
   }
   else {
       return false;
   }
}

当用户在确认框上单击“确定”时,它会从数据库中删除记录并回发。我想做的是在确认框上单击“确定”按钮后调用以下函数:

function imageViewerTool() {
   $("#overlay").show();
   $("#imageViewerDialog").fadeIn(300);
}

我的图片按钮:

<asp:ImageButton ID="imgParts" runat="server" OnClientClick="return confirmDelete();" />

代码背后:

db.ExecuteNonQuery(CommandType.Text, "delete from tblTest where ImageName='img_1111'");

【问题讨论】:

  • 专业提示:function confirmDelete() { return confirm('Do you really want enter code here o delete this Image?') }

标签: javascript asp.net imagebutton


【解决方案1】:

嗯...那你不叫它吗? 我的意思是你不能这样做吗:

function confirmDelete() {
   if (confirm('Do you really want enter code here`o delete this Image?')) {
       imageViewerTool(); // THIS
       return true;
   }
   else {
       return false;
   }
}

【讨论】:

  • Prolly,存在一些范围问题。并且您无法从 confirmDelete 方法中引用 imageViewerTool
【解决方案2】:

我已经更新了我的代码,现在可以使用了。

JavaScript:

function confirmDelete() {
if (confirm('Do you really want to delete this Image?') == true)
    return true;
else
    return false;}

$(document).ready(function () {
var checkConfirm = document.getElementById("ctl00_ContentPlaceHolder1_hdnCheckConfirmBox").value;
if (checkConfirm != null && checkConfirm == "yes") {
    imageViewerTool();
}});

function imageViewerTool() {
$("#overlay").show();
$("#imageViewerDialog").fadeIn(300);}

function HideImageViewerDialog() {
$('input:hidden[name="ctl00$ContentPlaceHolder1$hdnCheckConfirmBox"]').val('no');
$("#overlay").hide();
$("#imageViewerDialog").fadeOut(300);}

客户端:

<asp:LinkButton ID="lnkClose" runat="server" OnClientClick="HideImageViewerDialog();">Close</asp:LinkButton>

<asp:ImageButton ID="imgParts" runat="server" OnClientClick="return confirmDelete();" />

<asp:HiddenField ID="hdnCheckConfirmBox" runat="server" Value="no"/>

服务器端:

db.ExecuteNonQuery(CommandType.Text, "delete from tblTest where ImageName='img_1111'");
hdnCheckConfirmBox.Value = "yes";

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-02-28
    • 2012-04-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多