Imposta il valore dell'input usando la funzione Javascript


208

Attualmente sto usando un gadget YUI. Ho anche una funzione Javascript per convalidare l'output che proviene da quello divche YUI disegna per me:

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

Ecco il mio 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>

Come vedi la mia domanda è, come posso impostare il valore di gadget_urlessere ""?


1
Prova ... Dom.get("gadget_url").set("value","");... non ne sono del tutto sicuro
Sangeet Menon,

Risposte:


470

Prova ... per YUI

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

con normale Javascript

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

con JQuery

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

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

@Alastair confermo - che non utilizza YUI. Comunque OP nel titolo scrivi "Imposta valore di input usando la funzione Javascript" (non la funzione YUI) quindi la risposta soddisfa i requisiti della domanda
Kamil Kiełczewski

6

Il seguente funziona in MVC5:

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

11
javascript! = MVC5
qbantek

6
Eppure ha dato la risposta corretta. Ci sono principianti che troveranno questa domanda in base a questa risposta.
Matthew Nichols,

4

A seconda del caso d'uso, fa la differenza se si utilizza javascript ( element.value = x) o jQuery$(element).val(x);

Quando xè undefinedjQuery risulta una stringa vuota mentre javascript risulta "undefined"come una stringa.


1

Non sto usando YUI, ma nel caso in cui aiuti qualcun altro - il mio problema era che avevo ID duplicati sulla pagina (stava lavorando all'interno di una finestra di dialogo e mi ero dimenticato della pagina sottostante).

La modifica dell'ID in modo che fosse univoca mi ha permesso di utilizzare i metodi elencati nella risposta di Sangeet.


Solo per brevità e riferimenti futuri, tutti gli ID nella pagina dovrebbero essere SEMPRE unici
Pogrindis,

1

document.getElementById ('gadget_url'). value = 'il tuo valore';


0

La soluzione fornita da Kamil Kiełczewski funziona perfettamente alla perfezione. IMHO, molto più leggibile di document.getElementById.

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


-3

Provare

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>

Aggiornare

Non so perché così tanti downovotes (e nessun commento) - tuttavia (per i futuri lettori) non pensano che questa soluzione non funzioni - Funziona con HTML fornito nella domanda OP e questa è la soluzione di lavoro più BREVE - puoi provarla da solo QUI

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.