2017-10-11 7 views
0

읽기 전용 레이블이 있으며 사용자가 높이 및 무게 값을 입력하면 값을 가져옵니다. 모든 것이 잘 작동하지만 일단 데이터베이스에 레이블 값을 저장하려고 시도하면 항상 비어 있으며 다시 게시 레이블이 값을 잃으면 읽습니다. 그래서 숨겨진 필드에 대해 읽었지만, 숨겨진 필드 값으로 레이블을 추가하는 방법에 대한 올바른 구문을 찾을 수 없었습니다. 이전에 EVAL로 숨겨진 필드를 사용했지만 데이터를 바인딩하는 동안에 만 작동합니다.숨겨진 필드에 레이블 값 저장

도움을 받으실 수 있습니다.

<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

다음은 서버에 게시되지 않습니다 Label 값 클라이언트 측에 만들어진 변경 때문에 항상 비어 있습니다. 입력 필드에 저장해야합니다. 아래 스 니펫은 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