2011-05-26 40 views
0

我寫了一個JavaScript來計算基於兩個TextBox整數值的TotalWeight。我乘以這兩個值並顯示在使用JavaScript的第三個TextBox中。但問題是,我有一個radiobuttonlist,在其selectedindexchanged事件中,我在第三個TextBox中獲得的值消失。如何解決這個問題?如何在ASP.Net的PostBack中保持JavaScript值?

我的JavaScript是

<script type="text/javascript"> 
    function TotalWeight() 
     { 
      var D1 = document.getElementById('<%=txtD1.ClientID%>'); 
      var SectionWgt = document.getElementById('<%=txtSectionWeight.ClientID%>'); 
      var TotalWgt = 0*1; 
      TotalWgt = parseFloat(D1.value) * parseFloat(SectionWgt.value); 

      if(isNaN(TotalWgt)) 
       document.getElementById('<%=txtTotalWgt.ClientID%>').innerText = "0.000"; 
      else 
       document.getElementById('<%=txtTotalWgt.ClientID%>').innerText = TotalWgt.toFixed(3); 
     } 
    </script> 

    <asp:TextBox ID="txtD1" runat="server" Width="136px" onkeyup="return TotalWeight();"></asp:TextBox> 

回答

0

計算並將值分配給Total Textbox後,將該值也放入hidden field中,然後在回發中將該值重新分配給hidden Field中的文本框。

+0

在哪裏將值分配給隱藏字段?無論是在JavaScript還是在後臺代碼中? JS中的 – thevan 2011-05-26 10:03:38

+0

您正在計算併爲您的總文本框分配值。 – 2011-05-26 10:05:18

+0

謝謝阿赫塔爾... – thevan 2011-05-26 10:30:32

0

閱讀文本框中的值時,單選按鈕事件觸發和回發 - 然後把它寫回文本框之後。

我會想象,當事件觸發並且頁面發回時,第三個文本框會恢復到其原始值 - 在事件期間捕獲新值並將其寫回到框中。

0

使用隱藏字段來存儲值。只需使用

[intput類型= 「隱藏」 ID = 「someid」>]

後,您可以使用$( 「#someid」)使用的值。VAL() 嘗試,這幫助了我。