2013-09-11 2 views
0

Я пытаюсь изменить значение входного текстового поля, используя несколько параметров dojo, но так или иначе они не работают. С другой стороны, когда я пытаюсь изменить текст, используя параметр document.getElememtById, я могу это сделать. Может кто-нибудь объяснить, почему мои варианты додзё не работают?Как изменить значение входного текстового поля с помощью dom.byid?

if (response.responseJSON.errorMessage){ 
         dom.byId("AuthInfo").innerHTML=response.responseJSON.errorMessage; 
        // dom.byId("AuthPassowrd").value=""; 

        // domAttr.set("AuthPassowrd", "value", ""); 
        // domConstruct.empty("AuthPassword"); 
         document.getElementById("AuthPassword").value=""; 

        } 

и мой HTML код это-

 <input type="password" placeholder="Enter password" id="AuthPassword"/> 

ответ

0

Я не уверен, если это опечатка только в этом коде, но вы написали "AuthPassowrd" в смену "AuthPassword". Если это только здесь (а не настоящий код), прочитайте мой первоначальный ответ.


Оригинальный ответ

Вы уверены, что вы импортировали правильные модули (dojo/dom, dojo/dom-attr и dojo/dom-construct)? Примеры отлично работают для меня. Я сделал JSFiddle, чтобы показать вам, как это работает. Вы можете импортировать эти модули, используя:

require(["dojo/dom", "dojo/dom-attr", "dojo/dom-construct"], function(dom, domAttr, domConstruct) { 
    // Here you can use dom, domAttr and domConstruct 
}); 

Убедитесь, что DOM загружен до выполнения ваших команд. Операции с узлами DOM могут выполняться только при загрузке этой части DOM (или всей страницы). Обычно вы можете подождать, пока DOM не будет готов с dojo/domReady! плагин:

require(["dojo/domReady!], function() { 
    // Will only be executed when the dom is ready 
}); 

В вашей третьей комментировал строке кода используется domConstruct.empty("AuthPassword");. Это не будет работать для очистки поля ввода, но используется для удаления всех дочерних узлов из узла DOM. Значение текстового поля не является дочерним, поэтому он не будет работать.

+1

О Боже мой !!! .... это было на самом деле опечатка в моем исходном коде ..... хотя спасибо за предоставление информации о domConstruct ....... –

0

Вы должны просто заменить это:

domAttr.set("AuthPassowrd", "value", ""); 

с:

domAttr.set(dom.byId("AuthPassword"), "value", ""); 
+1

Проблема была в опечатке ..... domAttr.set («AuthPassword», «value», «»); также работает. –

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