2011-08-10 18 views
4

私は3つのASP.NETテキストボックスと1つのHiddenFieldを持っています。 3番目のテキストボックス(これは無効)の値は、他の2つの値に依存します。無効なASP.NETテキストボックスの値の取得

式txtPricePadの初期値は0であり、txtCartonがtxtPriceの値に変更される12 であると仮定すると

txtPricepad = txtPrice/txtCarton

<asp:TextBox ID="txtPriceCase" runat="server" onblur="javascript:GetPricePerPad();></asp:TextBox> 
<asp:TextBox ID="txtCarton" runat="server"></asp:TextBox> 
<asp:TextBox ID="txtPricePad" Enabled="false" runat="server" ></asp:TextBox> 
<asp:HiddenField ID="hdPricepad" runat="server"/> 

    function GetPricePerPad() 
    { 
    var priceCase = document.getElementById('ctl00_content_txtPriceCase').value; 
    var cartons  = document.getElementById('ctl00_content_txtCarton').value; 
    var res   = Number(priceCase)/Number(cartons); 

    document.getElementById('ctl00_content_txtPricePad').value = res; 
    document.getElementById('ctl00_content_hdPricepad').value = res; 
    } 

あります1200、GetPricePerPad()が呼び出されるので、txtPricePadは100になります。

Javascriptが正常に変更されました。 txtPricePadの値を100に設定しますが、コードビハインドからtxtPricePadを呼び出すときの値は0です。 その理由は、式の結果をHiddenFieldに割り当てた理由です。これを行う他の方法はありますか?私は再びHiddenFieldを使用したくありません。

+0

[私は次のJSPで無効になっているテキストボックスの値を取得したいが、null値を取得している](http://stackoverflow.com/questions/3757806/i-want-to- get-the-value-of-disabled-text-box-in-our-jsp-but-i-am-getting-nu) –

答えて

10

Lizでは、テキストフィールドを読み取り専用(ReadOnly = True)にすることはできますか?なぜなら、テキストフィールドが無効になっているときは、POST要求のフォームとともに送信されないからです。 See this question.

無効になっているかのように見せたい場合は、ボタンにCssClassを適用することができます。

+0

私はこれが素晴らしい提案だと思っています。 – Liz

+2

私はこれが1年前だと知っていますが、無効にされたテキストボックスの価値を取り戻そうとすると8時間もの無駄な時間が無駄になりました –

2

私は2つのオプション

  1. 提出フォーム上txtPricePadフィールドを有効にするには、JavaScriptの他の入力または
  2. 使用から再び計算サーバ側の実行の一つは、

    以下を参照してください使用します

    var pricePad = document.getElementById(<%= txtPricePad.ClientID%>);

    pricePad.disabled = false;

関連する問題