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 ""?


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

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

@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';

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.


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.


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


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>


-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Í

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.