• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

jquery: Input-Feld befüllen

bodil

Mitglied
Guten Morgen!
Ich versuch gerade mit jquery den Text in einem Input-Feld in einem Formular zu verändern.
HTML:
<input type="text" id="myInputField" value="Alter Text" name="feld" />
Dafür habe ich u.a. folgenden jquery-Code erstellt, der stellenweise sogar funktioniert:
Code:
[COLOR=#0000cd][B]var[/B][/COLOR] id =[COLOR=#0000ff]"#myInputField"[/COLOR];
[COLOR=#800080]alert[/COLOR][COLOR=#0000cd]([/COLOR]$[COLOR=#0000cd]([/COLOR]id[COLOR=#0000cd])[/COLOR].val[COLOR=#0000cd]())[/COLOR];       [COLOR=#daa520]// Zeigt nichts[/COLOR]
[COLOR=#800080]alert[/COLOR][COLOR=#0000cd]([/COLOR]$(id[COLOR=#0000cd])[/COLOR].text[COLOR=#0000cd]())[/COLOR];      [COLOR=#daa520]// Zeigt »Alter Text«[/COLOR]
$[COLOR=#0000cd]([/COLOR]id[COLOR=#0000cd])[/COLOR].text[COLOR=#0000cd]([/COLOR][COLOR=#0000ff]"Neuer Text"[/COLOR][COLOR=#0000cd])[/COLOR];
[COLOR=#800080]alert[/COLOR][COLOR=#0000cd]([/COLOR]$[COLOR=#0000cd]([/COLOR]id[COLOR=#0000cd])[/COLOR].text[COLOR=#0000cd]())[/COLOR];      [COLOR=#daa520]// Zeigt »Neuer Text«[/COLOR]
Das Problem dabei ist: jquery erkennt am Ende zwar im Input-Feld den richtigen Text, er wird aber nicht angezeigt, im Input-Feld steht nach wie vor der alte Wert »Alter Text«. (Getestet auf FF und IE.)
Warum?
 
Werbung:
Moin,
.text() ist nicht für den Wert von Input Feldern. Dafür ist val() schon richtig.

Ich vermute, er versucht bei dir das Feld auszulesen, bevor der DOM geladen ist.

HTML:
$(document).ready(function() {
var id ="#myInputField";
alert($(id).val());

$(id).val('Neuer Text');

});

Das wird funktionieren.

MfG
 
Der DOM war schon fertig, text() hat ja auch nen sinnvolles Ergebnis gebracht.
val() hatte ich glaub ich auch schon probiert, aber danach schau ich noch mal!

Merci!

B.
 
Werbung:
Ich habs gelöst! Allerdings erstaunt mich die Lösung etwas.
Statt
Code:
[COLOR=#0000cd][B]var[/B][/COLOR] id =[COLOR=#0000ff]"#myInputField"[/COLOR][COLOR=#0000ff];
[/COLOR]
Musste ich die id so festlegen:
Code:
[COLOR=#0000cd][B]var[/B][/COLOR] id =[COLOR=#0000ff]"[B]input[/B]#myInputField"[/COLOR][COLOR=#0000ff];
[/COLOR]
Erstaunt mich etwas, aber jetzt geht's! (Unter Verwendung von val().)
Nochmal vielen Dank fürs Mitdenken!
Bodil
 
Manchmal muss man eben weiter ausdifferenzieren. Mit CSS ist ja auch vieles try & error.

Wobei jQuery mit Input Elementen wohl auch nicht ganz so flexibel ist. Was auch seine Berechtigung hat, denn sonst könnte man dem User in Formularen wirklich alles unterschieben.
 
Werbung:
Ich fürchte, FoXMorayn hat recht ... ich hab die Id doppelt vergeben, td#myInputField gab es auch noch ... :shock:
 
Zurück
Oben