[英]How to get textbox value in javascript
我在aspx.cs頁面中有此文件,並試圖在我的js函數中獲取文本框的值。 這不起作用:
result += result.Replace(sOptionText.ToString(), "<input type='text' id=\"txtSS_" + Version + "\" size='10' value=\"" +"\" runat = \"server\" style=\"display:none;\" />");
我的js函數在這里:
var sOptionList = "";
var $obj = $('#txtSS_' + VersionID);
if ($('#txtSS_' + VersionID).length > 0)
sOptionList = $obj.val();
我得到一個空值。 我究竟做錯了什么? 另外,想知道我的.cs頁面中的文本框聲明是否正確。 當我調試它時,它仍然顯示value =“”。
可能是由於未解析的客戶端ID所致。 根據頁面/控件的ClientIDMode ,控件將以限定值作為前綴。 因此,實際ID可能更像是"ctrl0_ctrl1_txtABC"
而不是txtABC
。
// javascript
var tb = $('#<%= this.txtMyTextbox.ClientID %>');
alert(tb.length);
alert(tb.val());
但是,您還將input
元素構建為字符串,而不是將其實例化為新控件。 該控件可能甚至沒有被執行。
// c#
var tb = new TextBox();
tb.ID = "txtABC";
// Add the control to a container on the page. Any server control can be
// a container. This makes it part of the page lifecycle.
this.Controls.Add( tb );
有兩件事:
所以對於第一個元素
sOptionList = $obj[0].value;
我沒有在單擊或jsfunction中進行document.ready准備。 因此,這樣做可以解決此問題:
$(document).ready(function () {
var $Opt = $("#txtSS_" + VersionID).val();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.