2015-10-12 69 views
0

我有兩個按鈕調用同一個功能: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" /> 

我的問題:當我點擊更新按鈕時,該功能不起作用。

+0

用onclick =「Update_New()」試試這個,還有一件事是在這個按鈕標籤前寫上你的javascript函數。 –

回答

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'); 
} 
+0

同樣的問題仍然存在.yep ;-( – Karthik

+0

已嘗試befor ...同樣繼續 – Karthik

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" /> 

只是使用「this」鍵代替「event」,然後在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; 
          } 
        } 

} 
+0

說價值未定義在JavaScript – Karthik

+0

它的未來作爲「使用關鍵字作爲標識符是無效的」爲此在JavaScript中 – Karthik

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語句。

相關問題