2011-12-09 2 views

답변

15

숨겨진 필드가 볼 수없는 페이지에 <input type="hidden" /> 요소를 생성하지만 클라이언트가 요소를 얻을 수있는 데이터를 설정하고 서버에 전달 : 게시 후

document.getElementById('<%= SomeHiddenField.ClientID %>').value = "data_pass_to_server"; 

당신이 값을 얻을 수 있습니다 :

var clientData = SomeHiddenField.Value; // "data_pass_to_server" 

당신이 보이지 않는 텍스트 상자 (<asp:TextBox Visible="False" />)를 사용하는 경우, HTML 파일에서 발생하는 요소가 없습니다.

4

숨겨진 필드는 결과 HTML에서 입력 유형 = "숨김"으로 렌더링됩니다. 입력시 입력의 값은 포스트 백에서 서버로 제출되지만 레이블의 경우는 그렇지 않습니다. 해당 값을 서버에 제출할 것인지 여부에 따라 입력 또는 레이블을 사용해야합니다. 값을 제출하지 않으려면 레이블이 올바른 솔루션이고 숨겨진 필드가 잘못되었습니다.

보이지 않는 텍스트 상자가 무엇을 의미하는지 확신 할 수 없지만 CSS를 통해 보이지 않게하려는 경우 입력 유형이 엔진, 봇 등을 검색하는 데 의미 적 의미가 있다는 것을 명심하십시오. CSS없이 또는 다른 CSS로 게재 될 수 있으며 텍스트 상자가 사용자에게 표시됩니다. 그렇지 않으면 둘 다 입력을 렌더링하므로 숨겨진 필드와 보이지 않는 텍스트 상자간에 차이가 없습니다.

1

실질적으로 같은 것을 얻을 수 있지만 "숨겨진 필드"를 원한다면 의미 상으로는 ASP.NET의 숨겨진 필드가 가독성 측면에서 가장 좋습니다.

5

어느 쪽이든은 .visible="false" 사용을 사용하지 않는, 텍스트 상자, 작동

yourTextBox.Style.Add("display", "none") 

또는

yourTextBox.Style.Add("visibility", "hidden") 
+0

이 뒤에 코드에서 특히 유용합니다. 고마워 – Dave

관련 문제