Definir valor da entrada usando a função Javascript

208

Atualmente, estou usando um gadget YUI. Eu também tenho uma função Javascript para validar a saída que vem do divYUI que desenha para mim:

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

Aqui está o meu 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 você pode ver a minha pergunta é, como posso definir o valor de gadget_urlser ""?

Ali Taha Ali Mahboub
fonte
1
Tente ... Dom.get("gadget_url").set("value","");... eu não tenho muita certeza embora
Sangeet Menon

Respostas:

470

Experimente ... para YUI

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

com normal Javascript

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

com JQuery

$("#gadget_url").val("");
Sangeet Menon
fonte
72
document.getElementById('gadget_url').value = '';
Calum
fonte
@Alastair Confirmo - que não está usando o YUI. No entanto OP na gravação título "Definir valor de entrada usando Javascript Function" (não YUI função) para que os requisitos pergunta de resposta meet
Kamil Kiełczewski
6

O seguinte funciona no MVC5:

document.getElementById('theID').value = 'new value';
Bogdan Mates
fonte
11
javascript! = MVC5
qbantek 22/02
6
E, no entanto, ele deu a resposta correta. Há iniciantes que encontrarão essa pergunta com base nesta resposta.
Matthew Nichols
4

Dependendo do caso de uso, faz diferença se você usa javascript ( element.value = x) ou jQuery$(element).val(x);

Quando xé undefinedjQuery resulta numa corda vazio enquanto que os resultados de JavaScript na "undefined"como uma corda.

bandido
fonte
1

Não estou usando o YUI, mas, caso isso ajude mais alguém - meu problema foi que eu tinha IDs duplicados na página (estava trabalhando em uma caixa de diálogo e esqueci a página abaixo).

Alterar o ID para que ele fosse único permitiu-me usar os métodos listados na resposta da Sangeet.

BSounder
fonte
Apenas para referência brevidade e futuro, todos do id na página devem SEMPRE ser único
Pogrindis
1

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

SMD
fonte
0

A solução fornecida por Kamil Kiełczewski funciona perfeitamente. IMHO, muito mais legível que o document.getElementById.

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

dsky
fonte
-3

Experimentar

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>

Atualizar

Não sei por que tantos downovotes (e nenhum comentário) - no entanto (para futuros leitores) não acham que essa solução não funcione - Funciona com html fornecido na pergunta OP e é a solução de trabalho MAIS CURTA - você pode experimentá-lo sozinho AQUI

Kamil Kiełczewski
fonte