2010-07-21 43 views
6

Tôi đang sử dụng trang ASP.NET (3.5) và tôi có một hộp văn bản có tên là txtName.Đọc giá trị hộp văn bản ASP.NET với JavaScript

Tôi muốn đọc giá trị bằng JavaScript như vậy nhưng nó không hoạt động.

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

Thậm chí điều này không muốn làm việc:

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

Công việc này với các trang HTML đơn giản nhưng không phải với trang ASP.NET của tôi, tại sao?

Trả lời

8

Có vẻ như txtName là ID phía máy chủ của kiểm soát của bạn. ASP.NET sẽ sử dụng một ID phía máy khách khác nhau khi nó hiển thị điều khiển dưới dạng HTML: có thể là một cái gì đó như ctl00_Container_txtName.

Bạn cần phải sử dụng tài sản ClientID của kiểm soát để có được ID client-side, và sau đó sử dụng trong getElementById cuộc gọi của bạn:

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

Cảm ơn! Làm thế nào sẽ kiểm tra xem một hộp kiểm được chọn hay không? – Etienne

+1

Tôi cho rằng bạn chỉ sử dụng thuộc tính '.checked' (một boolean) thay vì thuộc tính' .value'. – LukeH

0

Bạn muốn sử dụng tốt hơn các Jquery.then, gọi juest:

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

Các vấn đề liên quan