2009-04-16 6 views
5

은 내가숨겨진 요소에 javascript getElementByName으로 액세스 할 수 있습니까?

<%= Html.Hidden("ID", 1) %> 

같은 필드 숨겨진하고 나는 그것을 액세스 할 수 없습니다 자바 스크립트 내가

var ID = document.getElementsByName("ID").value; 

하여 해당 필드의 값을 원하는!

다른 방법이 있습니까?

+0

어떤 브라우저입니까? 그것은 FireFox에서 저에게 잘 작동합니다. – TheHippo

+0

그게 작동해야하는데, 어떤 브라우저를 사용하고 있습니까? 아마 IE는 "ID"의 이름을 좋아하지 않습니까? –

답변

3

컨텍스트는 확실하지 않지만 getElementById ??

+0

실제로 포스트는 ASP.NET MVC 태그가 붙어 있으므로 jQuery (템플릿에 포함되어 있으므로)를 사용해야합니다. $ ('ID')는 잘 작동합니다. – tvanfosson

+1

충분히 공정하게, 태그를 알아 채지 못했습니다! 나는 ById 대신에 ByName을 사용하는 것을 언급하고 있었는데, 그것은 ById가 작동하지 않는 원인이라고 생각했다. –

1

아마도 당신이하고 싶은 것은 :

var id = document.getElementById('id').value; 
4

이 시도 :

<input type="hidden" id="ID" /> 

자바 스크립트가 해당 기능에 액세스 할 수 있도록 :

var ID = document.getElementById("ID").value; 

다른 방법을 JQuery와 함께 :

var ID = $('#ID').val(); 
+1

jQuery +1, 요소 대신 요소 +1 – tvanfosson

+0

예, 원본 질문에서 복사했습니다. :) – Canavar

+0

오타를 수정했습니다. 이제 +1 만받습니다. – tvanfosson

1

ID는이 작업을 수행 :

<% Html.Hidden("ID", 1, new { id = "MyHidden"}) %> 

document.getElementById("MyHidden").value 
1
  1. getElementsByName(name) 지정된 이름 속성을 가진 요소의 배열을 반환합니다.
  2. getElementById(id)은 주어진 id 속성을 가진 요소를 반환합니다.
  3. 동일한 id를 가진 두 요소가 허용되지 않기 때문에 getElementsById가 없습니다.
  4. 아니요 getElementsByID, getElementByID - 이들은 기존 자바 스크립트 함수가 아닙니다. Camelization이 필요합니다! 숨겨 클라이언트 측 인 경우

    당신은 숨겨진 요소의 ID를 얻을 수 있습니다 :

질문에 대답. (생성 된 소스에서 볼 수 있습니다.)

document.getElementById('ID').value; 

또는 이와 비슷한 내용입니다.

관련 문제