Установить значение ввода с помощью функции Javascript


208

В настоящее время я использую гаджет YUI. У меня также есть функция Javascript для проверки выходных данных, divкоторые выводит для меня YUI:

Event.on("addGadgetUrl", "click", function(){
    var url = Dom.get("gadget_url").value;  /* line x ------>*/
    if (url == "") {
        error.innerHTML = "<p> error" /></p>";
    } else {
        /* line y ---> */ 
        /*  I need to add some code in here to set the value of "gadget_url" by "" */
    }
}, null, true);

Вот мой div:

<div>
<p>URL</p>
<input type="text" name="gadget_url" id="gadget_url" style="width: 350px;" class="input"/>
<input type="button" id="addGadgetUrl" value="add gadget"/>
<br>
<span id="error"></span>
</div>

Как вы можете видеть мой вопрос, как я могу установить значение gadget_urlбыть ""?


1
Попробуй ... Dom.get("gadget_url").set("value","");... я не совсем уверен
Sangeet Menon

Ответы:


471

Попробуйте ... для YUI

Dom.get("gadget_url").set("value","");

с нормальным Javascript

document.getElementById('gadget_url').value = '';

с JQuery

$("#gadget_url").val("");

72
document.getElementById('gadget_url').value = '';

@Alastair Я подтверждаю - это не использует YUI. Однако OP в заголовке напишите «Задать значение ввода с помощью функции Javascript» (не функции YUI), поэтому ответ соответствует требованиям вопроса
Kamil Kiełczewski

6

Следующие работы в MVC5:

document.getElementById('theID').value = 'new value';

11
javascript! = MVC5
qbantek

6
И все же он дал правильный ответ. Есть новички, которые найдут этот вопрос на основе этого ответа.
Мэтью Николс

4

В зависимости от варианта использования имеет значение, используете ли вы javascript (element.value = x ) или jQuery$(element).val(x);

Когда xis undefinedjQuery приводит к пустой строке, тогда как javascript - "undefined"как строка.


1

Я не использую YUI, но в случае, если это поможет кому-то еще - моя проблема заключалась в том, что у меня были дублированные идентификаторы на странице (работал внутри диалога и забыл о странице внизу).

Изменение идентификатора, чтобы оно было уникальным, позволило мне использовать методы, перечисленные в ответе Сангита.


Просто для краткости и использования в будущем, все идентификаторы на странице ВСЕГДА должны быть уникальными
Погриндис


0

Решение, предоставленное Kamil Kiełczewski работает на самом деле отлично. ИМХО, гораздо удобнее для чтения, чем document.getElementById.

function setValue(){
gadget_url.value='value to be set';
}
<input id='gadget_url' type='text'/>
<button onclick='setValue()'>Set value</button>


-3

Пытаться

gadget_url.value=''

addGadgetUrl.addEventListener('click', () => {
   gadget_url.value = '';
});
<div>
  <p>URL</p>
  <input type="text" name="gadget_url" id="gadget_url" style="width: 350px;" class="input" value="some value" />
  <input type="button" id="addGadgetUrl" value="add gadget" />
  <br>
  <span id="error"></span>
</div>

Обновить

Я не знаю, почему так много downovotes (и без комментариев) - однако (для будущих читателей) не думаю, что это решение не работает - он работает с html, предоставленным в вопросе OP, и это самое короткое рабочее решение - вы можете попробовать его самостоятельно ЗДЕСЬ

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.