2009-04-16 17 views
5

he escondido campo como¿Se puede acceder al elemento oculto mediante javascript getElementByName?

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

y en javascript Quiero un valor de dicho campo por

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

no puedo acceder a ella!

¿Hay alguna otra manera?

+0

¿Qué navegador? Funciona bien para mí en Firefox. – TheHippo

+0

Eso debería funcionar, ¿qué navegador estás usando? quizás IE no le gusta los nombres de "ID"? –

Respuesta

3

No estoy seguro del contexto, pero ¿no debería estar utilizando getElementById ??

+0

En realidad, dado que la publicación está etiquetada con ASP.NET MVC, debería usar jQuery (ya que está incluida con la plantilla). $ ('# ID') funciona muy bien. – tvanfosson

+1

¡Bastante bien, no noté la etiqueta! Me refería al uso de ByName en lugar de ById, que es lo que pensé que estaba causando que no funcionara. –

1

Tal vez lo que quieres hacer es:

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

Prueba esto:

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

JavaScript para acceder a ella:

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

otra manera con jQuery:

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

+1 para jQuery, -1 para elementos en lugar del elemento – tvanfosson

+0

sí, copié de la pregunta original, olvídate :) – Canavar

+0

He corregido el error tipográfico. Entonces ahora solo obtienes el +1. – tvanfosson

1

Identificación hacer esto:

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

document.getElementById("MyHidden").value 
1
  1. getElementsByName(name) devuelve un array de elementos con la propiedad nombre dado.
  2. getElementById(id) devuelve el elemento con la propiedad de id.
  3. No hay getElementsById porque no se permiten dos elementos con el mismo ID.
  4. Ni getElementsByID, getElementByID: estas no son funciones javascript existentes. ¡Se requiere camellización!

Respondiendo a la pregunta:

Puede obtener el ID de un elemento oculto si es el lado del cliente oculto. (Puede verlo en la fuente generada.)

document.getElementById('ID').value; 

O algo como esto.

Cuestiones relacionadas