willy möller: textareainhalten aus einem anderen frame

probleme beim auslesen von textareainhalten aus einem anderen frame und dem einfügen eines neuen textes(alter text+neuer text) in diese textarea

ich habe festgestellt das einige rechner
den folgenden quellcode nicht richtig interpretieren.
hier soll eine url kreiert werden, welche formularinhalte mit "?" getrennt aneinanderfügt und in der url mit schickt.
die url ruft eine seite im nachbarframe auf. die angehängten daten werden in einer texarea an den schon bestehenden text angehangen!
und hier gibt es ein problem...nicht auf jedem rechner wird der alte inhalt der textarea wieder mit übernommen...warum?
ich bin da ratlos..weil das script scheint mir fehlerfrei...funktioniert ja auch auf den meisten rechnern..aber eben nicht auf allen!

vielen dank für euere hilfe!

function a()
{
  var newURL         = "webseite.html";
  newURL = newURL + "?" + document.pos1.pos.value;
  newURL = newURL + "?" + document.pos1.bez.value;
  newURL = newURL + "?" + document.pos1.VE.value;
  newURL = newURL + "?" + document.pos1.farbe.value;
  newURL = newURL + "?" + document.pos1.bestellmenge.value;
  newURL = newURL + "?" + "%0A";
  newURL = newURL + "?" + parent.links.document.gesamtbestellung.ausgabe.value.replace(/\n/g,"%0A");
  newURL = newURL + "?" + parent.links.document.filiale.name.value;
  window.open(newURL,"links");
}

  1. Halihallo willy möller

    ich bin da ratlos..weil das script scheint mir fehlerfrei...funktioniert ja auch auf den meisten rechnern..aber eben nicht auf allen!

    Es funktioniert auf jenen nicht, die korrekt arbeiten und/oder Javascript deaktiviert
    haben.

    URL-Parameter werden über escape() kodiert.

    Viele Grüsse

    Philipp

    1. hmmm...
      ok..ich habe die uri jetzt codiert...

      es funzt aber immer noch nicht....
      kann es sein das javascript in einer älteren version diesen quellcode so nicht richtig interpretiert?!

      1. Halihallo willy möller

        ok..ich habe die uri jetzt codiert...

        Wie? - Voraus: Nicht die ganze URI, sondern die Werte der Variablen. Zudem werden
        Name=Value Paare (wovon Value eben kodiert werden muss) durch ein '&' (&) getrennt.
        Das '?' leitet nur die "Parameterliste" ein, getrennt wird anders.

        es funzt aber immer noch nicht....
        kann es sein das javascript in einer älteren version diesen quellcode so nicht richtig interpretiert?!

        Halte ich für unwahrscheinlich.

        Viele Grüsse

        Philipp

        1. ich habe nur die variablenwerte codiert...
          aber daran kann es nicht iegen..eine falsche codierung hätte lediglich einen zeichenmüll verursacht, nicht aber das auslassen der befehlskette:
          newURL = newURL + "?" + encodeURI
             (parent.links.document.filiale.name.value);

          das ganze wird dann wieder mit:

          document.gesamtbestellung.ausgabe.value = document.gesamtbestellung.ausgabe.value + decodeURI(ArrayVariable[7]);

          in die textarea eingelesen!

          1. Halihallo willy

            aber daran kann es nicht iegen..eine falsche codierung hätte lediglich einen zeichenmüll verursacht, nicht aber das auslassen der befehlskette:

            Doch. Richtige Browser verstehen dann die URI nicht und zeigen gar nix an.

            newURL = newURL + "?" + encodeURI
               (parent.links.document.filiale.name.value);

            encodeURI: Ganze URI kodieren.
            escape   : Einzelne Werte kodieren.

            s. http://selfhtml.teamone.de/javascript/objekte/unabhaengig.htm#encode_uri

            document.gesamtbestellung.ausgabe.value = document.gesamtbestellung.ausgabe.value + decodeURI(ArrayVariable[7]);

            ArrayVariable ist undefined.

            ---

            Du suchst den Fehler beim Client, er liegt jedoch bei _dir_. Folglich solltest du darum
            bemüht sein den Fehler nicht dort zu suchen, wo du ihn vermutest, sondern das ganze als
            Einheit zu überprüfen. Dazu dienlich ist z. B. die Ausgabe von Werten über alert(),
            sodass du die einzelnen Scritte besser verstehst. Also: Ein alert() für den Text in
            der Textarea, ein alert() für die generierte und kodierte URI, ein alert() für die
            am zweiten HTML empfangenen Daten und ein alert() für die daraus gewonnenen, rück-
            transformierten Daten. Nur so erkennst du, wo der Fehler _wirklich_ verursacht wird.
            Geholfen werden kann dir nur mit der Angabe dieser Informationen und etwas mehr Code.

            Viele Grüsse

            Philipp

            1. vorweg, vielen dank für die vielen mühen mit mir ;)

              das ich den fehler beim client suche ist natürlich richtig....ich hielt das für den einfacheren weg um den fehler bei mir dann zu finden...
              ich habe jetzt eine ordentliche kodierung vorgenommen und werde diese morgen an dem betroffenen rechner testen!

              anbei die frage: gibt es eine maximale länge für eine uri?
              wenn ja wie viel zeichen dürfte diese maximal enthalten?

              gruss will

              1. Halihallo willy

                anbei die frage: gibt es eine maximale länge für eine uri?
                wenn ja wie viel zeichen dürfte diese maximal enthalten?

                Ja, die gibt es und ist von Client zu Client verschieden. Gehe davon aus, dass du maximal
                1kb (1024 Bytes) übertragen kannst.

                Viele Grüsse

                Philipp