กำหนดค่าของการป้อนข้อมูลโดยใช้ฟังก์ชั่น 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

คำตอบ:


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) ดังนั้นคำตอบจะเป็นไปตามข้อกำหนดของคำถาม
Kamil Kiełczewski

6

งานต่อไปนี้ใน MVC5:

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

11
javascript! = MVC5
qbantek

6
แต่ถึงกระนั้นเขาก็ให้คำตอบที่ถูกต้อง มีมือใหม่ที่จะพบคำถามนี้ตามคำตอบนี้
Matthew Nichols

4

ขึ้นอยู่กับ usecase มันสร้างความแตกต่างไม่ว่าคุณจะใช้จาวาสคริปต์ (element.value = x ) หรือ jQuery$(element).val(x);

เมื่อxเป็นundefinedผล jQuery ในสตริงที่ว่างเปล่าในขณะที่ผลงาน JavaScript ใน"undefined"เป็นสตริง


1

ฉันไม่ได้ใช้ YUI แต่ในกรณีที่ช่วยเหลือคนอื่นปัญหาของฉันคือฉันมีรหัสซ้ำกันในหน้าเว็บ (ทำงานในกล่องโต้ตอบและลืมเกี่ยวกับหน้าเว็บด้านล่าง)

การเปลี่ยน ID ดังนั้นมันจึงเป็นเอกลักษณ์ช่วยให้ฉันใช้วิธีการที่ระบุไว้ในคำตอบของ Sangeet


เพียงเพื่อความกะทัดรัดและการอ้างอิงในอนาคต id ทั้งหมดบนหน้าเว็บควรจะไม่ซ้ำกันเสมอ
Pogrindis


0

โซลูชันของKamil Kiełczewskiทำงานได้อย่างสมบูรณ์แบบ IMHO สามารถอ่านได้มากขึ้นแล้ว 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>

ปรับปรุง

ฉันไม่รู้ว่าทำไม downovote มากมาย (และไม่มีความคิดเห็น) - (สำหรับผู้อ่านในอนาคต) ไม่คิดว่าโซลูชันนี้ใช้งานไม่ได้ - ใช้ได้กับ html ที่มีให้ในคำถาม OP และนี่เป็นวิธีการทำงานที่สั้นที่สุด - คุณสามารถลองได้ ด้วยตัวเองที่นี่

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.