Hannes: formulardaten verändern in <div> bereichen

da hab ich nun also versucht, mich ein bisschen in das DHTML Zeugs reinzufummeln - jetzt klappt natuerlich garnichts mehr.
Ich will mit folgendem Quellcode ein Formularfeld mit Daten (die dann wieder aus einem cookie stammen sollen) füttern. Doch dann kommt in der Netscape Konsole:
document.laytxt has no properties.

ich hoffe ich hab mich nicht allzu doof angestellt und ihr schlagt nicht die hände überm kopf zusammen.
Ach ja: es finden sich mehrere zu verändernde Formulare auf einer seite - deswegen die for-Schleife.

vielen tausend dank für eure mühen!!!

die HTML Datei:
-------------------------------------

<div id="divtxt" style="position:absolute; top:120px; text-align:center;">
<layer id="laytxt">
<form action="/cgi-bin/ea.plx" method=get name="Formular">
<p class="kleinschwarz">angemeldet als (Benutzername):<BR>
<INPUT type="text" size="25" name="Benutzername" value="">
</P>
<p class="kleinschwarz">Passwort:<BR>
<INPUT type="password" size="16" name="Passwort"  value=""></P>
<input type="submit" name="action" value="abschicken!">
</form>
</layer>
</div>

das Javascript (externe Datei - wird onload gestartet):
-------------------------------------

function cookieslesen()
{

if (document.all)
 {
  for (i=0;i>document.all.divtxt.forms.length;i++)
  {
   document.all.divtxt.forms[i].Benutzername.value="soeinmist";
   document.all.divtxt.forms[i].Passwort.value="soeinmist";
  }
 }
 else if (document.layers)
 {
  for (i=0;i>document.laytxt.document.forms.length;i++)
  {
   document.laytxt.document.forms[i].Passwort.value="soeimist";
   document.laytxt.document.forms[i].Benutzername.value="mist";
  }
 }
}

  1. hi,

    <div id="divtxt" style="position:absolute;
    <layer id="laytxt">

    fuer nc entstehen so verschachtelte layer (positioniertes div = layer-object). Daher stimmt die referenzierung nicht. Wozu doppelt gemoppel?
    Ansonsten: hast Du mehrere Forms oder wozu die Schleife?

    hth

    Gruesse  Joachim

    1. hi,

      <div id="divtxt" style="position:absolute;
      <layer id="laytxt">

      fuer nc entstehen so verschachtelte layer (positioniertes div = layer-object). Daher stimmt die referenzierung nicht. Wozu doppelt gemoppel?

      ich denke NC kennt <DIV> nicht und IE <layer>? Zumindest in Selfhtml wurde es so vorgemacht...

      Ansonsten: hast Du mehrere Forms oder wozu die Schleife?

      genau - es gibt auf einigen seiten 3 Formular - und das script soll universell einsetzbar sein.

      dank dir soweit. aber kannst du nicht einen tip geben, wies funzen könnte?

      1. hi,

        ich denke NC kennt <DIV> nicht und IE <layer>?

        nein. Ein positioniertes Div wird auch im NC zum layer.
        Gutes dhtml-tutorial: dhtml.seite.net
        Die Stärken von Selfhtml liegen nicht umbedingt im Bereich dhtml ;-)

        genau - es gibt auf einigen seiten 3 Formular

        sind die alle im selben div? Ein Layer ist bei NC ein eigenes document,
        ergo kannst Du hier nicht mit frames.length arbeiten, wenn jedes Formular
        einen eigenen div-container besitzt.
        Leg die div/formnamen in einem array ab, und ueberpruefe dementsprechend.
        Du brauchst dann das Array an die Seiten anzupassen.

        hth

        Gruesse  Joachim