多个按钮调用相同的函数并执行不同的方法

时间:2015-10-12 06:18:48

标签: javascript c# asp.net

我有两个按钮调用相同的函数:btnUpdate必须执行此函数,而btnSave不需要执行此方法:

function Update_New() {
  if (document.getElementById("btnUpdate").value == 2) {
    var update_confrimation = confirm("Are you sure you want to Update?");
    if (update_confrimation == true) {
      return true;
    } else {
      return false;
    }
  }
}

按钮代码:

<asp:Button ID="btnSave" runat="server" Text="SAVE" OnClick="btnSave_Click" OnClientClick="return Update_New(event)" value="1" />
<asp:Button ID="btnUpdate" runat="server" Text="UPDATE" OnClick="btnUpdate_Click" OnClientClick="return Update_New(event) " value="2" />

我的问题:当我点击更新按钮时,该功能无效。

3 个答案:

答案 0 :(得分:0)

您需要将对单击按钮的引用传递给方法

<asp:Button ID="btnSave" runat="server" Text="SAVE" OnClick="btnSave_Click" OnClientClick="return Update_New(this)" value="1" />
<asp:Button ID="btnUpdate" runat="server" Text="UPDATE" OnClick="btnUpdate_Click" OnClientClick="return Update_New(this) " value="2" />

然后使用点击按钮的值,您可以根据需要显示不同的消息

function Update_New(el) {
    return confirm(el.value == 2 ? "Are you sure you want to Update?" : 'Are you sure you want to save');
}

答案 1 :(得分:0)

<asp:Button ID="btnSave" runat="server" Text="SAVE" OnClick="btnSave_Click" OnClientClick="return Update_New(this)" value="1" />
<asp:Button ID="btnUpdate" runat="server" Text="UPDATE" OnClick="btnUpdate_Click" OnClientClick="return Update_New(this) " value="2" />

只需使用&#34;这个&#34;键而不是&#34;事件&#34;然后在javascript中使用变量来存储对象(我使用过变量X)。

     function Update_New(this) {
              if (this.value == 2) 
                    {
                    var update_confrimation = confirm("Are you sure you want to Update?");
                    if (update_confrimation == true) {
                        return true;
                    }
                    else {

                        return false;
                          }
                  }

}

答案 2 :(得分:0)

您的第一个if声明存在问题。渲染后按钮的文本为value,因此您的if语句应如下所示:

if (document.getElementById("btnUpdate").value === "UPDATE")

此外,您在代码末尾错过了一个},并且最好使用===代替==。所以你的代码应该是这样的:

function Update_New() {
        if (document.getElementById("btnUpdate").value === "UPDATE") {
            var update_confrimation = confirm("Are you sure you want to Update?");
            if (update_confrimation === true) {
                return true;
            } else {

            return false;
        }
    }
}

请注意 :并非所有代码路径都返回一个值,因此请考虑在最后添加一个return语句。