Tetapkan Nilai Input Menggunakan Fungsi Javascript

208

Saat ini saya menggunakan gadget YUI. Saya juga memiliki fungsi Javascript untuk memvalidasi output yang berasal dari divYUI yang menarik bagi saya:

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);

Ini milik saya 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>

Seperti yang Anda lihat pertanyaan saya adalah, bagaimana saya bisa menetapkan nilai gadget_urlmenjadi ""?

Ali Taha Ali Mahboub
sumber
1
Coba ... Dom.get("gadget_url").set("value","");... Saya tidak begitu yakin
Sangeet Menon

Jawaban:

470

Coba ... untuk YUI

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

dengan normal Javascript

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

dengan JQuery

$("#gadget_url").val("");
Sangeet Menon
sumber
72
document.getElementById('gadget_url').value = '';
Calum
sumber
@Alastair saya konfirmasi - itu tidak menggunakan YUI. Namun OP dalam judul menulis "Tetapkan Nilai Input Menggunakan Fungsi Javascript" (bukan fungsi YUI) jadi jawabnya memenuhi persyaratan pertanyaan
Kamil Kiełczewski
6

Karya-karya berikut di MVC5:

document.getElementById('theID').value = 'new value';
Bogdan Mates
sumber
11
javascript! = MVC5
qbantek
6
Namun dia memberikan jawaban yang benar. Ada pemula yang akan menemukan pertanyaan ini berdasarkan jawaban ini.
Matius Nichols
4

Bergantung pada usecase itu membuat perbedaan apakah Anda menggunakan javascript ( element.value = x) atau jQuery$(element).val(x);

Ketika xadalah undefinedhasil jQuery dalam String kosong sedangkan hasil javascript di "undefined"sebagai String.

preman-gamer
sumber
1

Saya tidak menggunakan YUI, tetapi jika itu membantu orang lain - masalah saya adalah saya memiliki duplikat ID pada halaman (sedang bekerja di dalam dialog dan lupa tentang halaman di bawahnya).

Mengubah ID sehingga unik memungkinkan saya untuk menggunakan metode yang tercantum dalam jawaban Sangeet.

BSounder
sumber
Hanya untuk singkatnya dan referensi di masa mendatang, semua id pada halaman SELALU harus unik
Pogrindis
1

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

SMD
sumber
0

Solusi yang disediakan oleh Kamil Kiełczewski bekerja dengan sangat baik. IMHO, jauh lebih mudah dibaca daripada document.getElementById.

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

dsky
sumber
-3

Mencoba

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>

Memperbarui

Saya tidak tahu mengapa begitu banyak downovotes (dan tidak ada komentar) - namun (untuk pembaca masa depan) tidak berpikir bahwa solusi ini tidak berfungsi - Ini bekerja dengan html yang disediakan dalam pertanyaan OP dan ini adalah solusi yang bekerja SINGKAT - Anda dapat mencobanya sendiri DI SINI

Kamil Kiełczewski
sumber