2009-04-16 6 views
5

J'ai champ caché commeL'élément Can Hidden peut-il être accédé par javascript getElementByName?

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

et javascript je veux une valeur de ce champ par

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

Je ne peux pas y accéder!

Y a-t-il un autre moyen?

+0

Quel navigateur? Cela fonctionne bien pour moi dans FireFox. – TheHippo

+0

Cela devrait fonctionner, quel navigateur utilisez-vous? peut-être IE n'aime pas les noms de "ID"? –

Répondre

3

Vous n'êtes pas sûr du contexte, mais vous ne devriez pas utiliser getElementById ??

+0

En fait, puisque le post est étiqueté avec ASP.NET MVC, il devrait utiliser jQuery (puisqu'il est inclus avec le modèle). $ ('# ID') fonctionne bien. – tvanfosson

+1

Assez juste, n'a pas remarqué l'étiquette! Je parlais de l'utilisation de ByName au lieu de ById, qui est ce que je pensais que cela ne fonctionne pas. –

1

Peut-être ce que vous voulez faire est:

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

Essayez ceci:

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

pour le javascript pour y accéder:

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

autre manière avec JQuery:

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

+1 pour jQuery, -1 pour les éléments au lieu de l'élément – tvanfosson

+0

oui, j'ai copié de la question originale, oubliez-le :) – Canavar

+0

J'ai corrigé la faute de frappe. Alors maintenant vous obtenez seulement le +1. – tvanfosson

1

id faire:

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

document.getElementById("MyHidden").value 
1
  1. getElementsByName(name) retourne un tableau d'éléments avec la propriété du nom donné.
  2. getElementById(id) renvoie l'élément avec la propriété id donnée.
  3. Il n'y a pas getElementsById - car deux éléments ayant le même identifiant ne sont pas autorisés.
  4. De plus, getElementsByID, getElementByID ne sont pas des fonctions javascript existantes. La camélisation est nécessaire!

Répondre à la question:

Vous pouvez obtenir l'identifiant d'un élément caché si elle est côté client caché. (Vous pouvez le voir dans la source générée.)

document.getElementById('ID').value; 

Ou quelque chose comme ça.

Questions connexes