Définir la valeur de l'entrée à l'aide de la fonction Javascript

208

J'utilise actuellement un gadget YUI. J'ai également une fonction Javascript pour valider la sortie qui vient du divque YUI dessine pour moi:

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

Voici mon 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>

Comme vous pouvez le voir, ma question est: comment puis-je définir la valeur de gadget_urlêtre ""?

Ali Taha Ali Mahboub
la source
1
Essayez ... Dom.get("gadget_url").set("value","");... je ne suis pas sûr cependant
Sangeet Menon

Réponses:

471

Essayez ... pour YUI

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

avec normal Javascript

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

avec JQuery

$("#gadget_url").val("");
Sangeet Menon
la source
72
document.getElementById('gadget_url').value = '';
Calum
la source
@Alastair je confirme - qui n'utilise pas YUI. Cependant, OP dans le titre écrit "Définir la valeur de l'entrée à l'aide de la fonction Javascript" (pas la fonction YUI), alors répondez aux exigences de la question
Kamil Kiełczewski
6

Les travaux suivants dans MVC5:

document.getElementById('theID').value = 'new value';
Bogdan Mates
la source
11
javascript! = MVC5
qbantek
6
Et pourtant, il a donné la bonne réponse. Il y a des débutants qui trouveront cette question sur la base de cette réponse.
Matthew Nichols
4

Selon le cas d'utilisation, cela fait une différence si vous utilisez javascript ( element.value = x) ou jQuery$(element).val(x);

Quand xest undefinedjQuery se traduit par une chaîne vide alors que javascript se traduit "undefined"par une chaîne.

voyou
la source
1

Je n'utilise pas YUI, mais au cas où cela aiderait quelqu'un d'autre - mon problème était que j'avais des identifiants en double sur la page (travaillais dans une boîte de dialogue et j'ai oublié la page en dessous).

Changer l'identifiant pour qu'il soit unique m'a permis d'utiliser les méthodes listées dans la réponse de Sangeet.

BSounder
la source
Par souci de concision et de référence future, tous les identifiants sur la page doivent TOUJOURS être uniques
Pogrindis
1

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

SMD
la source
0

La solution fournie par Kamil Kiełczewski fonctionne parfaitement. À mon humble avis, beaucoup plus lisible 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
la source
-3

Essayer

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>

Mettre à jour

Je ne sais pas pourquoi tant de downovotes (et pas de commentaires) - cependant (pour les futurs lecteurs) ne pense pas que cette solution ne fonctionne pas - Cela fonctionne avec le html fourni dans la question OP et c'est la solution de travail la PLUS COURTE - vous pouvez l'essayer par vous-même ICI

Kamil Kiełczewski
la source