簡體   English   中英

如何在JavaScript中獲取文本框值

[英]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 );

有兩件事:

  1. $ obj是一個數組。 因此,您必須使用$ obj []訪問數組中的元素,其中數字是
  2. 擁有元素后,請使用屬性.value

所以對於第一個元素

 sOptionList = $obj[0].value; 

我沒有在單擊或jsfunction中進行document.ready准備。 因此,這樣做可以解決此問題:

        $(document).ready(function () {
       var $Opt = $("#txtSS_" + VersionID).val();

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM