2010-07-21 9 views
6

J'utilise une page ASP.NET (3.5) et j'ai une zone de texte appelée txtName.Lecture d'une valeur de zone de texte ASP.NET avec JavaScript

Je veux lire la valeur avec JavaScript comme ça, mais cela ne fonctionne pas.

var Name = document.getElementById(txtName).value; 
alert(Name); 

Même cela ne veut pas travailler:

var Name = document.FormName.txtName.Value; 
alert(Name); 

Ce travail avec des pages HTML simples, mais pas avec ma page ASP.NET, pourquoi?

Répondre

8

Il semble que txtName est l'ID côté serveur de votre contrôle. ASP.NET utilisera un autre ID côté client lorsqu'il rend le contrôle au format HTML: probablement quelque chose comme ctl00_Container_txtName.

Vous devez utiliser pour obtenir l'ID du côté client propriété ClientID du contrôle, et ensuite utiliser que dans votre getElementById appel:

var name = document.getElementById('<%=txtName.ClientID%>').value; 
+0

Merci! Comment vérifier si une case à cocher est sélectionnée ou non? – Etienne

+1

Je suppose que vous utiliseriez simplement la propriété '.checked' (un booléen) au lieu de la propriété' .value'. – LukeH

0

Vous feriez mieux d'utiliser le Jquery.then, juest appel:

$ ('<% = txtName.ClientID%>'). Valeur;

Questions connexes