使用Javascript函数设置输入值


208

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

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

Answers:


470

试试...为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函数),因此答案符合问题要求
KamilKiełczewski19年


4

根据使用情况,是否使用javascript(element.value = x)还是jQuery$(element).val(x);

jQuery 何时xundefined空字符串,而javascript "undefined"为字符串。


1

我没有使用YUI,但万一它对其他人有帮助-我的问题是我在页面上有重复的ID(在对话框中工作并且忘记了下面的页面)。

更改ID以使其唯一,这使我可以使用Sangeet答案中列出的方法。


为了简洁起见和将来参考,页面上的所有ID都应该始终唯一
Pogrindis

1

document.getElementById('gadget_url')。value ='您的值';


0

KamilKieł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>

更新资料

我不知道为什么会有这么多的downvotes(并且没有评论)-但是(对于将来的读者)不认为该解决方案不起作用-它可以与OP问题中提供的html一起使用,这是最可行的解决方案-您可以尝试一下自己在这里

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.