Stellen Sie den Wert der Eingabe mit der Javascript-Funktion ein


208

Ich verwende derzeit ein YUI-Gadget. Ich habe auch eine Javascript-Funktion, um die Ausgabe zu validieren, die von dem stammt, das divYUI für mich zeichnet:

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

Hier ist mein 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>

Wie Sie meine Frage ist zu sehen, Wie kann ich den Wert gadget_urlzu sein ""?


1
Versuchen Sie ... Dom.get("gadget_url").set("value","");... ich bin nicht ganz sicher
Sangeet Menon

Antworten:


469

Versuchen Sie ... für YUI

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

mit normal Javascript

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

mit JQuery

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

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

@Alastair Ich bestätige - das ist nicht mit YUI. OP im Titel schreiben jedoch "Wert der Eingabe mit Javascript-Funktion
einstellen

6

Folgendes funktioniert in MVC5:

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

11
javascript! = MVC5
qbantek

6
Und doch gab er die richtige Antwort. Es gibt Neulinge, die diese Frage anhand dieser Antwort finden.
Matthew Nichols

4

Je nach Verwendungszweck spielt es eine Rolle, ob Sie Javascript ( element.value = x) oder jQuery verwenden$(element).val(x);

Wann xist undefinedjQuery führt zu einem leeren String, während Javascript "undefined"als String führt.


1

Ich verwende kein YUI, aber für den Fall, dass es jemand anderem hilft - mein Problem war, dass ich doppelte IDs auf der Seite hatte (arbeitete in einem Dialog und vergaß die Seite darunter).

Wenn ich die ID so änderte, dass sie eindeutig war, konnte ich die in Sangeets Antwort aufgeführten Methoden verwenden.


Nur die Kürze und die Zukunft, alle IDs auf der Seite sollte immer eindeutig sein
Pogrindis

1

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


0

Die von Kamil Kiełczewski bereitgestellte Lösung funktioniert tatsächlich perfekt. IMHO, viel besser lesbar als document.getElementById.

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


-3

Versuchen

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>

Aktualisieren

Ich weiß nicht, warum so viele Downovotes (und keine Kommentare) - aber (für zukünftige Leser) denken nicht, dass diese Lösung nicht funktioniert - Es funktioniert mit HTML in der OP-Frage und dies ist die KURZESTE Arbeitslösung - Sie können es versuchen alleine HIER

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.