Udo: Zugriff auf Formular innerhalb DIV

Hallo Forum,

ich bastle gerade an einem Text-Ticker. Dabei habe ich folgendes Konstrukt:

<div class="tickerstyle" id="tickerdiv">
<form name="tickerform">
    <input type="text" size="60" name="tickerinput" value="Dummytext">
</form>
</div>

Im <Head> gibt's folgende Funktion:

function do_ticker()
{
  document.tickerform.tickerinput.value = ticker_text;
  ticker_text = ticker_text.substring(1 , ticker_text.length) + ticker_text.substring(0,1);
  setTimeout("do_ticker()", 150);
}

Im IE5 funktionierts aber beim NN4 fliegt er beim ersten Befehlt (document.tickerform.tickerinput.value = ticker_text) auf die Schnauze.
Ich krieg dann die Meldung: "document.tickerform has no properties".

Ich hab auch versucht, zuerst <form> dann <div> dann <input>, hatt aber nichts gebracht. Wenn ich das <div> (zum abs. Positionieren des Tickers) entferne, funktionierts auch beim NN. Was mache ich falsch?

---
Nach fast 3 Stunden erfolgloser Suche gebe ich jetzt auf, und hoffe auf eure Hilfe.

Vielen Dank im Voraus

Udo

  1. Hallo Forum,

    ich habe mittlerweile noch einen Beitrag im Archiv gefunden, der genau das gleiche Problem beschreibt, das ich habe (leider hat damals niemend ne Lösung gehabt  :-( .
    evt. ist das Problem dort besser beschrieben.
    ==> http://www.teamone.de/selfhtml/sfarchiv/1999_3/t06579.htm#a32106

    Ciao Udo!

  2. Wenn ich das <div> (zum abs. Positionieren des Tickers) entferne, funktionierts auch beim NN. Was mache ich falsch?

    Ohne daß ich besonders tolle Kenntnisse in JavaScript-Objektbäumen hätte, klingt Deine Beschreibung so, als ob das <DIV> eine neue Ebene in diesem Objektbaum aufmacht (in Netscape).

    Falls ich hier richtig geraten habe, dann versuche doch mal, Dein Formularobjekt mit  "document.tickerdiv.tickerform.tickerinput.value"
    anzusprechen. (Evtl. auch im DIV ein NAME= verwenden für die Adressierung?)

    1. Wenn ich das <div> (zum abs. Positionieren des Tickers) entferne, funktionierts auch beim NN. Was mache ich falsch?

      Ohne daß ich besonders tolle Kenntnisse in JavaScript-Objektbäumen hätte, klingt Deine Beschreibung so, als ob das <DIV> eine neue Ebene in diesem Objektbaum aufmacht (in Netscape).

      Falls ich hier richtig geraten habe, dann versuche doch mal, Dein Formularobjekt mit  "document.tickerdiv.tickerform.tickerinput.value"
      anzusprechen. (Evtl. auch im DIV ein NAME= verwenden für die Adressierung?)

      Hatt leider nicht funktioniert. Wenn ich "document.tickerdiv.tickerform.tickerinput.value" benutze, sagt der NN, daß er das Objekt nicht kennt.
      Das "name" im "<DIV>" wollte er dann auch nicht.
      Trotzdem Danke für die Antwort. Vielleicht weiss noch jemand anders jemand was!

      Ciao Udo

  3. Hallo Udo,

    das <DIV>-Tag betrachtet Netscape als neues Dokument in der Objekthierarchie. Bei der Referenzierung versuch deshalb bitte folgende Syntax in deiner Funktion:
    document.tickerdiv.document.tickerform.tickerinput.value

    Ich hoffe, dass das funktioniert.

    Gruss
    Volli

    Hallo Forum,

    ich bastle gerade an einem Text-Ticker. Dabei habe ich folgendes Konstrukt:

    <div class="tickerstyle" id="tickerdiv">
    <form name="tickerform">
        <input type="text" size="60" name="tickerinput" value="Dummytext">
    </form>
    </div>

    Im <Head> gibt's folgende Funktion:

    function do_ticker()
    {
      document.tickerform.tickerinput.value = ticker_text;
      ticker_text = ticker_text.substring(1 , ticker_text.length) + ticker_text.substring(0,1);
      setTimeout("do_ticker()", 150);
    }

    1. Hi Volli,

      SUPER, mit " document.tickerdiv.document.tickerform.tickerinput.value" funktionierts one-wall-free

      Nochmals danke!

      Gruss Udo

      Hallo Udo,

      das <DIV>-Tag betrachtet Netscape als neues Dokument in der Objekthierarchie. Bei der Referenzierung versuch deshalb bitte folgende Syntax in deiner Funktion:
      document.tickerdiv.document.tickerform.tickerinput.value

      Ich hoffe, dass das funktioniert.

      Gruss
      Volli

      Hallo Forum,

      ich bastle gerade an einem Text-Ticker. Dabei habe ich folgendes Konstrukt:

      <div class="tickerstyle" id="tickerdiv">
      <form name="tickerform">
          <input type="text" size="60" name="tickerinput" value="Dummytext">
      </form>
      </div>

      Im <Head> gibt's folgende Funktion:

      function do_ticker()
      {
        document.tickerform.tickerinput.value = ticker_text;
        ticker_text = ticker_text.substring(1 , ticker_text.length) + ticker_text.substring(0,1);
        setTimeout("do_ticker()", 150);
      }