使用Javascript函数设置输入值

我目前正在使用一个YUI小工具。我也有一个Javascript函数来验证来自YUI为我绘制的div的输出:

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的值设置为""?

815290 次浏览
document.getElementById('gadget_url').value = '';
< p >试试…… YUI的< / p >
Dom.get("gadget_url").set("value","");

与正常Javascript

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

与JQuery

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

MVC5的工作如下:

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

根据用例,使用javascript (element.value = x)还是jQuery $(element).val(x);是有区别的

xundefined时,jQuery的结果是一个空字符串,而javascript的结果是"undefined"作为一个字符串。

我不使用YUI,但我的问题是,我在页面上有重复的ID(在一个对话框内工作,忘记了下面的页面)。

将ID更改为唯一的,允许我使用Sangeet的回答中列出的方法。

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

最短的

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>

这是最短的工作解决方案(JSFiddle)。