Linnun: Fehler beim value

Hallo, ich habe folgenden Code:

<script language="JavaScript">
function swap(elem, elem2) {
     document.getElementById(elem).style.display = (document.getElementById(elem).style.display == 'none' ) ? 'block' : 'none';
     document.getElementById(elem2).style.display = (document.getElementById(elem2).style.display == 'none' ) ? 'block' : 'none';
}
function changevalue(elem, value) {
     document.getElementById(elem).value = value;
}
</script>
<input type="password" name="userpw1" id="pw" style="display:block;" onkeyup="javascript:changevalue('pw2', document.form.userpw1.value);" />
<input type="text" name="userpw2" id="pw2" style="display:none;" onkeyup="javascript:changevalue('pw', document.form.userpw2.value);" />
Anzeigen: <input type="checkbox" name="show_pw" onclick="swap('pw','pw2');" />

Soll folgendes tun:
1. Beim Klick in die Checkbox wird das Feld ausgetauscht - funktioniert
2. Beim Schreiben in eine der beiden inputs (je nachdem, welche gerade da ist), soll die nicht sichtbare das selbe value bekommen - funktioniert nicht

Was mach ich falsch?

  1. Hab den Fehler schon gelöst. FORM mit entsprechendem Namen hat gefehlt ;)

  2. Hi,
    ich kanns gerade nicht testen, aber kann es sein, daß userpw1 bzw. 2 an der Stelle, wo du es aufrufst, den Wert noch nicht hat? Kommentiere in deiner swap-Funktion mal alle Sachen aus und gib nur den Wert von elem2 aus:

    alert(elem2);

    mE dürfte da nichts drin stehen.

    Viele Grüße,
    Julia