Ustaw wartość wejściową za pomocą funkcji Javascript


208

Obecnie używam gadżetu YUI. Mam również funkcję JavaScript do sprawdzania poprawności danych wyjściowych, divktóre rysuje dla mnie YUI:

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

Oto moje 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>

Jak widać moje pytanie, w jaki sposób można ustawić wartość gadget_urlbędzie ""?


1
Spróbuj ... Dom.get("gadget_url").set("value","");... Nie jestem do końca pewien
Sangeet Menon

Odpowiedzi:


470

Spróbuj ... dla YUI

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

z normalnym Javascript

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

z JQuery

$("#gadget_url").val("");

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

@Alastair Potwierdzam - że nie używa YUI. Jednak OP w tytule napisz „Ustaw wartość wejściową za pomocą funkcji Javascript” (nie funkcja YUI), więc odpowiedz na pytania
Kamil Kiełczewski,

6

Następujące działa w MVC5:

document.getElementById('theID').value = 'new value';

11
javascript! = MVC5
qbantek

6
A jednak udzielił poprawnej odpowiedzi. Są początkujący, którzy znajdą to pytanie w oparciu o tę odpowiedź.
Matthew Nichols

4

W zależności od przypadku ma to znaczenie, czy używasz javascript ( element.value = x) czy jQuery$(element).val(x);

Kiedy xjest undefinedjQuery skutkuje pusty ciąg natomiast javascript rezultatów w "undefined"postaci ciągu znaków.


1

Nie używam YUI, ale na wypadek, gdyby to pomogło komukolwiek innemu - mój problem polegał na tym, że miałem zduplikowane identyfikatory na stronie (działałem w oknie dialogowym i zapomniałem o stronie poniżej).

Zmiana identyfikatora, aby był unikalny, pozwoliła mi na użycie metod wymienionych w odpowiedzi Sangeeta.


Tylko dla zwięzłości i przyszłego odniesienia, wszystkie identyfikatory na stronie ZAWSZE powinny być unikalne
Pogrindis

1

document.getElementById ('gadget_url'). value = 'twoja wartość';


0

Rozwiązanie dostarczone przez Kamila Kiełczewskiego działa idealnie. IMHO, dużo bardziej czytelny niż document.getElementById.

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


-3

Próbować

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>

Aktualizacja

Nie wiem, dlaczego tak wiele downovotes (i żadnych komentarzy) - jednak (dla przyszłych czytelników) nie sądzę, że to rozwiązanie nie działa - Działa z HTML podanym w pytaniu OP i to jest KRÓTKIE działające rozwiązanie - możesz spróbować sam TUTAJ

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.