2013-04-24 84 views
0

我需要使用顯示確認消息。 我從'btnCalculate'clientclick事件調用方法。如果這是第一次,它會調用該方法。但如果我第二次點擊該按鈕,則找不到該方法。下面是我的代碼。請指教。非常感謝。在按鈕單擊上找不到方法

<asp:Button ID="btnYes" runat="server" OnClick="btnYes_Clicked" /> 
<asp:Button ID="btnCalculate" runat="server" Text="Calculate Claim" OnClientClick="return(cfrm());"/> 

function cfrm() { 
     var consultFee = '0'; 
     consultFee = $('[id$=txtConsultFee]').val(); 

     if (consultFee > 500) { 
      if (confirm('Confirm?')) { 
       $('[id$=btnYes]').click(); 
      } 
     } else { 
      $('[id$=btnYes]').click(); 
     } 
     return false; 
    } 

enter image description here

+0

你從哪裏得到'totalgst'值?看起來你正在做'var totalgst = parseFloat(totalgst)'??? 'totalgst'是一個全局值嗎? – 2013-04-24 08:57:41

+0

我的問題是,如果第二次點擊「btnCalculate」,則找不到「cfrm()」方法...我確定如果找到該方法,則所有的計算和邏輯都是正確的... – user1527923 2013-04-24 09:02:52

回答

0

我想知道你是如何讓你點擊右鍵,在第一時間,因爲,你還沒有宣佈你var totalgst您直接初始化它!

您可能必須先初始化:

function cfrm(){ 
var totalgst=584; 
totalgst = parseFloat(totalgst).toFixed(4); 
............ other code.... 
} 

無需編寫OnClientClick="return(cfrm());您可以直接寫OnClientClick="return cfrm();"

如果我做簡單的警報與您的代碼似乎是工作每次,你願意檢查您的js函數

+0

謝謝你的及時迴應..我試過了。但有同樣的問題。 – user1527923 2013-04-24 08:53:58

+0

@ user1527923我更新了答案 如果您在使用js代碼時遇到問題,您可能需要發佈您的html。 :) – 2013-04-24 08:54:43

+0

實際上,我刪除了一些計算方法太長...我相信如果jquery方法被發現,它會工作正常。我主要關心的是爲什麼如果按鈕被第二次點擊找不到方法:( – user1527923 2013-04-24 09:15:11

0

用作

OnClientClick="return cfrm(); 
0

試試這個:

更改ASPX代碼像這樣

<asp:Button ID="btnCalculate" runat="server" Text="Calculate Claim" OnClientClick="return Confirm();" OnClick="btnYes_Clicked" /> 

而js代碼是這樣的:

function Confirm() { 
    var consultFee = '0'; 
    consultFee = $('[id$=txtConsultFee]').val(); 

    if (parseInt(consultFee) > 500) { 
     return confirm('Confirm?'); 
    } else { 
     return true; 
    } 
    return false; 
} 
+0

謝謝但仍然收到錯誤 – user1527923 2013-04-24 09:48:54

+0

不知道你的最後發生了什麼,但這應該工作! – 2013-04-24 09:52:00