kay: document.write löscht den restlichen inhalt

hallo,
ich hab versucht auf das ereignis 'maus zeigt auf textbereich' mit dem anzeigen eines neuen textfeldes, das ich mit css frei positioniert habe, zu reagieren, aber der restliche inhalt wird komplett gelöscht.
danke schonmal für hilfe.

  1. Ich glaube dein Problem zu kennen, normalerweise schreibt der Browser den Text/Code dahin von wo aus die Funktion aufgerufen wurde.
    Wenn dies aber nicht geht, wird eine ganz neue Seite benutzt um diese vollzuschreiben (oder der Rest wird gelöscht). Indem du dir mal den Quelltext anschaust, kannst du überprüfen ob dies bei dir der Fall ist.

    Zu lösen wäre es evtl. indem du die Funktion, die dein neues Textfeld schreibt an die Stelle setzt wo das Textfeld hinsoll, aber in Wartestellung - wobei sie auf  eine Variable oder ein handleEvent wartet. Mit letzterem kenne ich mich aber nicht so gut aus und weiß nicht ob es funzt, ersteres ist schmarn weil du die Variable dann ständig überprüfen müsstest, was schlechter Code ist und zu abstürzen führen könnte (Endlosschleife).
    (Gibt es in JS eigentlich Semaphoren??)

    Sinnvoller wäre es wohl gleich mit InlineFrames zu arbeiten, da fällt das Problem dann weg.

    Gruß
    Philip

    1. habs geschafft!!!!!

      schaut mal rein auf www.kay-burrhee.de/razamba

      so hab ich mir das prinzip vorgestellt, und so in der art werde ich es auch auf meiner zukünftigen seite einbauen.

      danke für eure hilfe !!!!!!

      kay

  2. Hi,

    ich hab versucht auf das ereignis 'maus zeigt auf textbereich' mit dem anzeigen eines neuen textfeldes, das ich mit css frei positioniert habe, zu reagieren, aber der restliche inhalt wird komplett gelöscht.

    welcher restliche Inhalt?
    1. im Textbereich steht schon was, und wird logischerweise überschrieben: lies es vorher aus und verknüpfe den neuen String mit dem Alten und gib es dann erst aus.

    2. ich kann mir nicht so richtig vorstellen, was Du meinst, aber wenn Du das Textfeld vorher schon hast, halt bloss display:none und dann wieder einblendest um mit Text füllst, sollte nichts gelöscht werden

    Was meinst Du eigentlich mit Textfeld?
    textarea, input type=text ? die spricht man nämlich über ihre value-Eigenschaft an nicht mir document.write()

    Beschreibe Dein Problem mal näher.

    ciao
    romy

    1. Hallo nochmal und danke für die antworten. hab noch nicht alles ausprobiert, weil ich wenig zeit hab, aber übers wochenende schaff ich das.
      nochmal zur erklärung:
      mit textfeld meinte ich eigentlich span oder div, kein  formular, weil ich da drin nix fett, groß usw machen kann und bilder sollen da auch rein. ich hab es mir so vorgestellt, dass irgendwo im dokument ein neues frame auftaucht und entweder beim wegziehen der maus vom 'auslösertext' wieder verschwindet oder über einen extra button. mit css hab ich schon textbereiche mitten rein gesetzt, also über den rest. mit document.write wird der rest des documentes gelöscht und auf das ereignis 'maus wegziehen' kann nicht mehr reagiert werden. ich werds nochmal mit euren tipsch das inline frame versuchen.

      gruß,
      kay

  3. Hi,

    Weite Ansätze wären:
    http://selfhtml.teamone.de/javascript/objekte/all.htm#inner_html
    ! Achtung funktioniert so nur im IE. Über dom geht das aber glaube ich auch im Moz.

    Ändern von TExten geht auch über dom. Stichwörter: document.getElementByID und dann irgendwie mit childNodes usw. Schau mal da: [http://selfhtml.teamone.de/javascript/objekte/node.htm#child_nodes].

    Oder Du nimmst ein Textfeld und schreibst dann da mit value den gewünschten Inhalt rein:
    http://selfhtml.teamone.de/javascript/objekte/elements.htm#value

    Mehr fällt mir gerade nicht ein.

    Grüße,

    Ronny