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


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

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

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

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.


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.


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


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>


-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

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.