2017-10-11 10 views
0

私は読み取り専用のラベルを持っています。ユーザーが高さと重量の値を入力すると値を取得します。すべてがうまくいっていますが、ラベル値をデータベースに格納しようとすると、常に空になり、ポストバックラベルが値を失った後に読み込まれます。だから私は隠されたフィールドについて読んだが、ラベルを隠しフィールドの値として追加する方法の正しい構文を見つけることができなかった、私はEVALの前に隠されたフィールドを使用したが、隠しフィールドにラベル値を保存する

助けていただければ幸いです。変更Label値クライアント側に作られた

<asp:Label ID="lblBMI" runat="server" ClientIDMode="Static" ReadOnly="true"></asp:Label> 



           <script type="text/javascript"> 
            $(document).ready(function() { 

             CalculateBodyMassIndex(); 

             $('#txtHeight').change(function() { 
              CalculateBodyMassIndex(); 
             }); 

             $('#txtWeight').change(function() { 
              CalculateBodyMassIndex(); 
             }); 

             function CalculateBodyMassIndex() { 
              var floatNumber= /^((\d+(\.\d *)?)|((\d*\.)?\d+))$/; 
              var height = $('#txtHeight').val(); 
              var weight = $('#txtWeight').val(); 

              if (height != "" && weight != "") { 
               if (floatNumber.test(height) && floatNumber.test(weight)) { 
                var bmi = weight/(height * height) 
                $('#lblBMI').text(bmi.toFixed(2)); 

               } else { 

                alert('Only numbers are allowed'); 
               } 
              } else { 
               $('#lblBMI').text(""); 
              } 
             } 
            }); 
           </script> 

答えて

0

がサーバーにポストされませんので、常に空になります。入力フィールドに格納する必要があります。 以下のスニペットでは、BMI値も非表示フィールドに設定され、その値はコードの背後で取得できます。

<asp:Label ID="lblBMI" runat="server"></asp:Label> 
<asp:HiddenField ID="HiddenField1" runat="server" /> 

<script type="text/javascript"> 
    var bmi = 5.3; 
    $('#<%= lblBMI.ClientID %>').text(bmi.toFixed(2)); 
    $('#<%= HiddenField1.ClientID %>').val(bmi.toFixed(2)); 
</script> 
+0

ありがとうございますが、var bmi = 5.3とは何ですか? – Warda

+0

さて、私はあなたが私にどのように動作するかの例を与えました。私の金髪の瞬間を許して!ありがとうございました:-) – Warda

+0

それは確かに例でした。そして、あなたは大歓迎です。 – VDWWD

関連する問題