[英]Why can't I set the focus to an ASP.Net TextBox control in Javascript or from code behind?
[英]How can I get the text from an Asp.Net TextBox control with Jquery or Javascript?
我有一個Asp.Net TextBox控件:
<asp:TextBox ID="txtFromDate" runat="server" CssClass="txtDateFrom"></asp:TextBox>
在一個單獨的Jquery / Javascript文件中,我想從中獲取文本...通常,該文本類似於'9/1/2015'。
我嘗試了以下方法:
var r2FromDate = new Date($(".txtFromDate").val);
var r2FromDate = new Date($(".txtFromDate").val.toString());
var r2FromDate = new Date($(".txtFromDate").val());
var r2FromDate = new Date($(".txtFromDate").text());
var r2FromDate = new Date($(".txtFromDate").text);
和使用#<%= txtFromDate.ClientID%>表示法相同,它完全被破壞了。
請幫忙!
$('#txtFromDate').val();
您想使用ID而不是類別進行選擇。
var text = $("#<%=txtFromDate.ClientId %>").val();
然后,ASP應輸出在客戶端上生成的ID,您的JavaScript可以選擇它。 您也可以重復使用此變量,而不是一遍又一遍地查詢DOM [每次使用jQuery之類的“ $(...)”時,都必須找到它。
如果您的JavaScript位於另一個文件中,則可以改用name屬性
<asp:TextBox ID="txtFromDate" runat="server" CssClass="txtDateFrom" name="txtFromDate"></asp:TextBox>
$('input[name="txtFromDate"]').val();
另外,您可以在TextBox上定義以下屬性
ClientIDMode="static"
這樣可以確保您在客戶端的ID與服務器端的ID相同。
然后您可以使用:
$('#txtFromDate').val();
實際上是因為我將id設置為“ txtFromDate”,將類設置為“ txtDateFrom”,而不是將它們保持相同。 我試圖訪問不存在的類'txtFromDate'。
選擇正確的類時,.val()有效。
您可以通過此方法嘗試此操作,也可以獲取asp按鈕或與此相關的任何控件。
var txt_txtFromDate = document.querySelector("input[id*='txtFromDate']");
alert(txt_txtFromDate.Value);
如果您在客戶端有多個具有相同ID的控件,也可以嘗試使用querySelectorAll()
。
同樣,$(“ input [id * ='txtFromDate']”)也可以使用。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.