Establecer el valor de entrada usando la función Javascript

208

Actualmente estoy usando un dispositivo YUI. También tengo una función de Javascript para validar el resultado que proviene de lo divque YUI dibuja para mí:

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

Aquí está mi 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>

Como puede ver, mi pregunta es, ¿cómo puedo establecer el valor de gadget_urlser ""?

Ali Taha Ali Mahboub
fuente
1
Intenta ... Dom.get("gadget_url").set("value","");... aunque no estoy muy seguro
Sangeet Menon

Respuestas:

470

Prueba ... para YUI

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

con normal Javascript

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

con JQuery

$("#gadget_url").val("");
Sangeet Menon
fuente
72
document.getElementById('gadget_url').value = '';
Calum
fuente
@Alastair confirmo que no está usando YUI. Sin embargo, OP en el título escribe "Establecer el valor de entrada usando la función Javascript" (no la función YUI), así que responde a los requisitos de la pregunta
Kamil Kiełczewski
6

Lo siguiente funciona en MVC5:

document.getElementById('theID').value = 'new value';
Bogdan Mates
fuente
11
javascript! = MVC5
qbantek
66
Y sin embargo, dio la respuesta correcta. Hay novatos que encontrarán esta pregunta basándose en esta respuesta.
Matthew Nichols
4

Dependiendo del caso de uso, hace una diferencia si usa javascript ( element.value = x) o jQuery$(element).val(x);

Cuando xes undefinedresultados jQuery en una cadena vacía mientras que los resultados de javascript en "undefined"forma de cadena.

gamberro
fuente
1

No estoy usando YUI, pero en caso de que ayude a alguien más, mi problema fue que tenía identificaciones duplicadas en la página (estaba trabajando dentro de un cuadro de diálogo y olvidé la página debajo).

Cambiar el ID para que fuera único me permitió usar los métodos enumerados en la respuesta de Sangeet.

BSundador
fuente
Solo por brevedad y referencia futura, todas las identificaciones en la página SIEMPRE deben ser únicas
Pogrindis
1

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

SMD
fuente
0

La solución proporcionada por Kamil Kiełczewski funciona perfectamente en realidad. En mi humilde opinión, mucho más legible que document.getElementById.

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

dsky
fuente
-3

Tratar

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>

Actualizar

No sé por qué tantos downovotes (y sin comentarios), sin embargo (para futuros lectores) no creo que esta solución no funcione. Funciona con html proporcionado en la pregunta OP y esta es la solución de trabajo MÁS CORTA: puede probarlo solo AQUÍ

Kamil Kiełczewski
fuente