web-dev-qa-db-ja.com

Javascript関数を使った入力値の設定

私は現在YUIガジェットを使用しています。私はYUIが私のために描くdivから来る出力を検証するためのJavascript関数も持っています:

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の値を""に設定するにはどうすればよいですか。

179

YUIについて

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

通常のJavascript

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

jQueryを使って

$("#gadget_url").val("");
412
Sangeet Menon
document.getElementById('gadget_url').value = '';
70
Calum

以下はMVC5で動作します。

document.getElementById('theID').value = 'new value';
6
Bogdan Mates

ユースケースに応じて、javascript(element.value = x)またはjQuery $(element).val(x);のどちらを使用するかによって違いが生じます。

xundefinedの場合jQueryは空の文字列を返しますが、javascriptは"undefined"を文字列として返します。

4
thug-gamer

document.getElementById( 'gadget_url')。value = 'あなたの価値';

1
SMD

私はYUIを使用していませんが、それが他の誰かを助けるのに備えて - 私の問題は私がページ上で重複したIDを持っていたことです.

IDを一意になるように変更することで、Sangeetの回答にリストされている方法を使用することができました。

1
BSounder

Htmlでidを使用することはお勧めできません(特にcreateコンポーネントの場合)が、jsでは試してみてください

gadget_url.value=''
gadget_url.value = ''

function set() {
   gadget_url.value = 'cool gadget';
}
<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" onclick="set()" />
  <br>
  <span id="error"></span>
</div>
0