textareainhalten aus einem anderen frame
willy möller
- javascript
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");
}
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
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?!
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
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!
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
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
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