in textfelder schreiben

A

antihero

hello there,

ich hab wieder mal ein js problem. nämlich hab ich 2 felder. Eines ist leer (liste) und das andere enthält ca. 6 einträge (auch liste)... ich möchte jetzt folgendes machen:

man kann in der vollen liste einen wert auswählen, auf "submit" klicken und dann wird der wert in die andere, leere liste geschrieben... ich denk mir das geht irgendwie mit document.write (boah hab ichs drauf... ;)) aber da ich keine ahnung von javascript hab, wäre ich froh wenn mir jemand erklären könnte wie diese funktion aussehen müsste oder falls ihr einen link zu nem tutorial/beispiel habt, sag ich natürlich auch nicht nein.:)

vielen dank!

antihero
 
Mit document.write() gibt's nicht wirklich was zu richten, dazu gibt es eigentlich die Eigenschaften von Formularen.

Wäre aber ganz gescheit, zu wissen wie deine Listen aufgebaut sind, kannst du da mal relevaten Quellcode posten?

Listen an sich sind ja nur Aufzählungen und haben nix mit Markieren etc. zu tun.
Von daher vermute ich jetzt halt, dass du von Formularfeldern redest...

Geist
 
Ok hab fast ne Lösung. Bräucgte nur mal euere Hilfe:
Wie kann man an ein Select Feld ne neue option reinschreiben/anhängen?

]Ton[
 
PHP:
var anhaengsel = new Option(eintragung, wert);
document.formular.selectfeld[position_in_liste] = anhaengsel;
wobei eintragung halt dem Text, der im select-Feld dazukommen soll, entspricht, wert dann dem zugehörigen "value" des Textes und die position_in_liste entspricht halt dem Arrayindex vom select-Feld.

hth,
Geist
 
Ok dann hab ichs etzat: (ich hoffe ich hab deine Frage richtig versstanden)

PHP:
<html>
<head>

<script>

var posi = 0;


function move() {

idx = document.formular.Werte.selectedIndex;

if (idx != -1) {
eintrag = formular.Werte[idx].value;
var anhaengsel = new Option(eintrag, posi);
document.formular.selectfeld[posi] = anhaengsel;
posi++; 
}
}

</script>

</head>

<body>

<form name="formular">
<table> <!--nur zur schönheit-->
<tr>
<td>

<select name="selectfeld" size=5>

</select>

</td>
<td width=200>&nbsp;</td>
<td>
<select size=5 name="Werte">
<option value="Wert1">Wert1</option>
<option value="Wert2">Wert2</option>
<option value="Wert3">Wert3</option>
<option value="Wert4">Wert4</option>
<option value="Wert5">Wert5</option>
</select>
</td>
</tr>
</table>

<input type="button" onClick="move()" value="OK">
</form>

</body>
</html>

hoffe ich konnte helfen
]Ton[
 
BIG THX

vielen dank an alle von euch!
das ging ja fix und entspricht haargenau dem was ich gesucht habe! Vielen Dank nochmals!

antihero
 
Als Hinweise:

1)
Bitte versuchen, das <script>-Tag in Zukunft mit den korrekten Attributen type und language zu versehen. :)

2)
Achtung bei dem JavaScript mit peniblen Browsern:
Das global object eines Browserfensters ist noch immer window, nicht document und wenn du demzufolge einen Formularteil versuchst zu referenzieren, dann ist das nicht korrekt über
PHP:
eintrag = formular.Werte[idx].value;
da dort eine falsche Stelle im DOM gesucht wird, nämlich dann logischerweise window.formular.Werte[idx].value und nicht window.document.formular.Werte[idx].value.
Das führt in den Browsern mit Mozilla Engine (Netscape und Mozilla) zu einem Script, welches nicht funktionabel arbeitet - keinen Eintrag übernimmt.

Also bitte die eine Zeile noch erweitern auf
PHP:
eintrag = document.formular.Werte[idx].value;
dann klappt's auch mit den Nachbarn.

Danke und schönen Abend noch. :)

Geist
 
thx für die tipps, aber gegen einen hab ich doch etwas einzuwenden (etwas kleines):
den <script> tag hab ich aus faulheit nicht weiter attrubitiert

und ps: regiert mozilla da wirklich soo überempfindlich (wegen dem window object?)

]Ton[
 
Ja, wär' halt schön wenn man die Attribute für den <script>-Tag auch irgendwie zum Standard in den Foren hier machen könnten, dann kommt vielleicht niemand auf die Idee, das mal zu vernachlässigen, auch wenn viele sagen dass die eh fast egal sind.

Meine's nur von der Sache her. :)

Und die Mozilla-Browser stellen wirklich zwar alles dar, geben beim Klick auch keinen Fehler aus, aber übernehmen das selektierte Feld eben auch nicht in das Nachbarfeld...und das Voranstellen von document war wirklich das einzige was ich da verändert habe, so dass es funktioniert hat. :)

Geist
 

Neue Beiträge

Zurück