2013-02-19 3 views
1

У меня есть это на странице aspx.cs и пытаюсь получить значение текстового поля в моей js-функции. Это не работает:Как получить значение текстового поля в javascript

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. Он по-прежнему показывает, что значение = "", когда я firebug его.

+1

Как вы знаете, что значение не является «нулем» для начала? –

+0

обновите вопрос, если есть опечатка – Popnoodles

+0

Отредактированный вопрос – user2085236

ответ

1

Возможно, это связано с неразрешенным идентификатором клиента. В зависимости от ClientIDMode страницы/элемента управления элементы управления будут иметь префикс с квалификационным значением. Таким образом, фактический идентификатор может быть больше похож на "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); 
0

Пара вещей:

  1. $ OBJ является массивом. Таким образом, вы должны получить доступ к элементу в массиве, используя $ OBJ [], где число
  2. После того, как у вас есть элемент, а затем использовать свойство .value

Таким образом, для первого элемента, который вы бы

sOptionList = $obj[0].value; 
0

Я не делал документ в моем клике или моей функции jsfunction. Таким образом, это исправлено:

 $(document).ready(function() { 
     var $Opt = $("#txtSS_" + VersionID).val(); 
Смежные вопросы