Legen Sie den Wert eines Eingabefelds fest

Lesezeit: 6 Minuten

Legen Sie den Wert eines Eingabefelds fest
SebastianOppermann

Wie würden Sie den Standardwert eines Formulars festlegen <input> Textfeld in JavaScript?

Legen Sie den Wert eines Eingabefelds fest
James

Dies ist eine Möglichkeit, dies zu tun:

document.getElementById("mytext").value = "My value";

  • Ich werde, gibt es eine Möglichkeit, den Wert NULL zu machen, wenn der Benutzer auf das Feld klickt?

    – SebastianOppermann

    30. September 2011 um 10:46 Uhr

  • Ja, weisen Sie dem Eingabefeld einen Event-Handler zu, der den Wert onclick löscht. Beispiel: elem.onclick = clearField(); // das würde auf eine Funktion verweisen, die das Feld löscht, indem der Wert auf nichts gesetzt wird, ähnlich wie in der obigen Antwort.

    – James

    30. September 2011 um 10:48 Uhr

  • bei mir hat es nicht funktioniert. Wird das obige das Wertattribut erstellen?

    – Dchris

    22. März 2014 um 11:44 Uhr

  • Dies scheint nicht zu funktionieren, wenn Sie versuchen, den Wert für das Eingabe-Tag selbst zu ändern. Zur Verdeutlichung: Wenn ich eine Schaltfläche habe, die ihren Wert ändern soll, wenn darauf geklickt wird, scheine ich sie nicht ändern zu können, auch nicht durch “this.parentNode.getElementByTagName(‘input’).style.display=’none ‘;” noch durch Verwendung von this.style.display=’none’; Außerdem habe ich sogar versucht, “.style = display: none;’;” ohne erfolg…

    – MahNas92

    5. August 2016 um 19:00 Uhr

  • Diese und andere Antworten auf die obige Frage scheinen das zu ignorieren Ursprünglich Wert geändert werden soll. Verwenden .value = ... ändert nur den aktuellen Wert. Zurücksetzen des Formulars (mit <input type="reset" /> zum Beispiel) ändert den Wert wieder auf den ursprünglichen Wert. Im Gegensatz, setAttribute("value", ...) funktioniert einwandfrei in Firefox und Chrome. Der Standardwert wird geändert, aber der tatsächliche Wert wird nur geändert, wenn der Benutzer ihn nicht bereits geändert hat. Aber, setAttribute wird aufgrund der Browserkompatibilität nicht empfohlen. Gibt es noch eine andere Möglichkeit?

    – JojOatXGME

    14. Juni 2017 um 17:08 Uhr


Ich verwende die Funktion ‘setAttribute’:

<input type="text" id="example"> // Setup text field 
<script type="text/javascript"> 
  document.getElementById("example").setAttribute('value','My default value');
</script>

  • value sollte direkt mit Punktnotation aufgerufen werden: developer.mozilla.org/en-US/docs/Web/API/Element.setAttribute Sie verwenden set/getAttribute nur, um mit dem ursprünglichen Wert umzugehen. Nachdem DOM geladen wurde, .value stellt den tatsächlichen Arbeitswert des Elements dar.

    – Chris Baker

    15. September 2014 um 20:06 Uhr


  • @ChrisBaker Ich würde diese Antwort +1000, wenn ich könnte. Ich habe eine Drittanbieter-App, die Eingabefelder scannt, um die Anwendung zu automatisieren (meine Seite wird in einem eingebetteten Steuerelement gerendert). Dies ist ein einzigartiges Szenario, in dem Eingabefelder von der App des Clients verwendet werden. Eingabefelder wurden nicht sofort nach dem Postback mit .value in meiner Document-Ready-Funktion zurückgesetzt. Wenn ich ein nachfolgendes asynchrones Postback hatte, das der Benutzer initiierte, würde es diese Eingabewerte wiederverwenden, um etwas zu automatisieren, auf das sie zuvor geklickt hatten, und ich brauchte die Seite, um sie zu „vergessen“. Das ist die hackige magische Sauce, die ich brauchte. Danke Pepe und Chris!

    – MikeTeeVee

    16. August 2016 um 16:22 Uhr


  • Ich verwende Yii 2.0 und das direkte Setzen von .value = ” würde die Formularvalidierung für das Feld nicht richtig ausführen. Die Verwendung von setAttribute(‘value’,’…’) wird ordnungsgemäß gehandhabt. Danke!

    – ekscrypto

    27. Februar 2017 um 13:33 Uhr

  • Ich habe ein seltsames Problem, das mit gelöst wurde setAttribute. Mein Problem bestand darin, den Wert einer Eingabe durch einen Funktionsaufruf zu ändern und auch die zuletzt geänderten Eingaben zu ändern.

    – SAMPro

    19. April 2018 um 21:43 Uhr

  • Ich konnte den Wert nur mit dieser Antwort auf eine modale Popup-Eingabe (Text) setzen. .Wert hat bei mir nicht funktioniert. Danke

    – Ulla

    23. April 2018 um 7:00 Uhr

wenn Ihr Formular ein Eingabefeld wie enthält

<input type="text" id='id1' />

dann können Sie den Code wie unten angegeben in Javascript schreiben, um seinen Wert als festzulegen

document.getElementById('id1').value="text to be displayed" ; 

  • HILFE! Ich mache es, aber der Wert ändert sich immer wieder auf den ursprünglichen Wert, sobald ich auf ein anderes Feld klicke oder auf eine beliebige Schaltfläche auf der Seite klicke. Dies ist die Website, die ich mache (mit der Klasse “_56AraZ”) shopee.vn/buyer/login?next=https%3A%2F%2Fshopee.vn%2F Kann mir jemand zeigen, wie ich den Wert wirklich festlegen kann, um die Anmeldung auf dieser Website zu automatisieren?

    – Zui Zui

    28. Februar 2021 um 0:23 Uhr

Wenn Sie mehrere Formulare verwenden, können Sie Folgendes verwenden:

<form name="myForm">
    <input type="text" name="name" value="">
</form>

<script type="text/javascript"> 
    document.forms['myForm']['name'].value = "New value";
</script>

Legen Sie den Wert eines Eingabefelds fest
dallinchase

Probieren Sie diese aus.

document.getElementById("current").value = 12

// or

var current = document.getElementById("current");
current.value = 12

  • Legen Sie in solchen Feldern niemals Nicht-Text-Werte fest. Wenn Sie zurücklesen, lesen Sie in einigen Browsern eine Zeichenfolge (!)

    – Buchsenpaar

    4. April 2014 um 14:21 Uhr

  • HILFE! Ich mache es, aber der Wert ändert sich immer wieder auf den ursprünglichen Wert, sobald ich auf ein anderes Feld klicke oder auf eine beliebige Schaltfläche auf der Seite klicke. Dies ist die Website, die ich mache (mit der Klasse “_56AraZ”) shopee.vn/buyer/login?next=https%3A%2F%2Fshopee.vn%2F Kann mir jemand zeigen, wie ich den Wert wirklich festlegen kann, um die Anmeldung auf dieser Website zu automatisieren?

    – Zui Zui

    28. Februar 2021 um 0:23 Uhr

Antwort 2021

Anstatt zu verwenden document.getElementById() Sie können jetzt verwenden document.querySelector() für verschiedene Fälle

Weitere Informationen aus einer anderen StackOverflow-Antwort:

querySelector lässt Sie Elemente mit Regeln finden, die nicht mit ausgedrückt werden können getElementById und getElementsByClassName

BEISPIEL:

document.querySelector('input[name="myInput"]').value="Whatever you want!";

oder

let myInput = document.querySelector('input[name="myInput"]');
myInput.value="Whatever you want!";

Prüfen:

document.querySelector('input[name="myInput"]').value="Whatever you want!";
<input type="text" name="myInput" id="myInput" placeholder="Your text">

  • Legen Sie in solchen Feldern niemals Nicht-Text-Werte fest. Wenn Sie zurücklesen, lesen Sie in einigen Browsern eine Zeichenfolge (!)

    – Buchsenpaar

    4. April 2014 um 14:21 Uhr

  • HILFE! Ich mache es, aber der Wert ändert sich immer wieder auf den ursprünglichen Wert, sobald ich auf ein anderes Feld klicke oder auf eine beliebige Schaltfläche auf der Seite klicke. Dies ist die Website, die ich mache (mit der Klasse “_56AraZ”) shopee.vn/buyer/login?next=https%3A%2F%2Fshopee.vn%2F Kann mir jemand zeigen, wie ich den Wert wirklich festlegen kann, um die Anmeldung auf dieser Website zu automatisieren?

    – Zui Zui

    28. Februar 2021 um 0:23 Uhr

1646356329 941 Legen Sie den Wert eines Eingabefelds fest
Alexander Johannsen

Die Antwort ist wirklich einfach

// Your HTML text field

<input type="text" name="name" id="txt">

//Your javascript

<script type="text/javascript"> 
document.getElementById("txt").value = "My default value";
</script>

Oder wenn Sie JavaScript ganz vermeiden möchten: Sie können es einfach über HTML definieren

<input type="text" name="name" id="txt" value="My default value">

  • Erstaunlich, dass nur eine Person hier vorgeschlagen hat, die zu verwenden value Attribut …

    – Algy Taylor

    15. Januar 2018 um 15:12 Uhr

  • @AlgyTaylor weiß Ihre Bemühungen zu schätzen und danke Ihnen für Ihren wunderbaren Kommentar

    – PHP-Coder

    20. Januar 2018 um 12:34 Uhr

929380cookie-checkLegen Sie den Wert eines Eingabefelds fest

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy