2014-12-08 2 views
-2

Я хочу изменить значение текстового поля через javascript.Измените текст текстового поля на javascript/jquery

У меня есть пользовательский элемент управления, из которого я вызываю js-файл. В usercontrol есть текстовое поле, а затем в js-файле я передаю это значение текстового поля. После нажатия кнопки (она находится в пользовательском контроле) файл js выполняет некоторые операции. После нажатия кнопки и завершения операций я хочу изменить значение текстового поля.

User control 

a textbox and a button 

string submitArgs = String.Format("'{0}',tboxTimeMeasured.ClientID); 
    JsSubmitValues.Value = "javascript:SubmitMeasure(" + submitArgs + ");";  


Js File: 
    function SubmitMeasure(control_TimeMeasured) { 
//some operations 
//and success= true   

if (success) { 
      alert("Your changes have been saved successfully!"); 
      var datetimeNow = new Date(); 
      control_TimeMeasured.value = datetimeNow.getHours() + ":" + datetimeNow.getMinutes(); 
     } 
    } 

Вот, он идет в петле успеха, то control_TimeMeasured этого значения текстового поля, которое передается от пользовательского элемента управления в файл 'Js. Как я могу изменить значение control_TimeMeasured ??

+2

Его неясно точно, что вы просите. Возможно, вы могли бы попытаться точно объяснить, какие симптомы проблемы вы видите. Можете ли вы использовать инструменты разработки веб-браузера, чтобы отлаживать, что такое 'control_TimeMeasured'? –

+0

@SamGreenhalgh я редактировал его – user1989

ответ

1

Если control_TimeMeasured представляет собой текстовое поле ASP.NET, которое отображается на стороне сервера, возможно, его идентификатор времени выполнения будет отличаться от указанного вами. Вы можете использовать синтаксис <%= control_TimeMeasured.ClientID %>, чтобы получить его идентификатор времени выполнения. Вы также хотите, чтобы выбрать элемент управления (используя его идентификатор), прежде чем вы сможете изменить его свойства; вам нужно сделать немного больше, чем просто ссылаться на него по его названию. Попробуйте это:

document.getElementById("<%= control_TimeMeasured.ClientID %>").value = 
     datetimeNow.getHours() + ":" + datetimeNow.getMinutes(); 

В качестве альтернативы, если у вас есть jQuery, вы можете сделать это:

$("#<%= control_TimeMeasured.ClientID %>")[0].value = 
     datetimeNow.getHours() + ":" + datetimeNow.getMinutes(); 

Теперь, если control_TimeMeasured просто нормальный input элемент, вы можете просто сделать это:

document.getElementById("control_TimeMeasured").value = 
      datetimeNow.getHours() + ":" + datetimeNow.getMinutes(); 
+0

Я попробовал первый 2 вариант: Erron 1-й: Невозможно установить свойство «значения» неопределенной или нулевой ссылку Erron второй: Синтаксическая ошибка, непризнанное выражение: # <% = control_TimeMeasured.ClientID%> Я привязал второе значение к $ ("#" + control_TimeMeasured.ClientID) [0] .value = 'hi'; Тогда он дает ошибку, как первый – user1989

+0

Я думаю, что в качестве значения нет свойства, это значение. – user1989

+0

Есть ли элемент управления на вашей странице с идентификатором, установленным в 'control_TimeMeasured'? Можете ли вы разместить точное значение 'control_TimeMeasured'? – PoweredByOrange

0

В вашем примере control_TimeMeasured будет строкой. Чтобы использовать это в javascript, вам нужно будет использовать идентификатор, чтобы найти такой элемент.

ОБНОВЛЕНО:

var element = document.getElementById(control_TimeMeasured); 
if(element){ 
    if(element.tagName.toUpperCase() == 'INPUT'){ 
     var datetimeNow = new Date(); 
     element.value = datetimeNow.getHours() + ":" + datetimeNow.getMinutes(); 
    }else{ 
     console.error('element is not an input. Element is \'' + element.tagName + '\'.'); 
    } 
}else{ 
    console.error('element with id\'' + control_TimeMeasured + '\' was not found.'); 
} 
+0

Получение ошибки: невозможно set property 'value' неопределенной или нулевой ссылки – user1989

+0

Я думаю, что в качестве значения нет свойства, это значение. – user1989

+0

В этом случае я предполагаю, что на этой странице нет элемента с этим идентификатором. Я обновил этот пример, чтобы помочь вам отладить. если элемент не найден, javascript будет регистрировать идентификатор на консоли. Затем вы сможете увидеть, что такое идентификатор, и если он совпадает с идентификатором во входном теге. –

Смежные вопросы