NetherNexus
Neues Mitglied
Hallo zusammen,
ich bin gerade auf ein Problem gestoßen, wo ich leider nicht mehr weiterkomme . Hoffe mir kann jemand weiterhelfen.
Das Problem tritt mit dem IE 6.0 unter WinXP SP 2 auf. Da unsere Anwendung auf den IE zugeschnitten ist, habe ich die Sache noch nicht mit anderen Browsern versucht. Ein Umstieg ist ausgeschlossen.
Und zwar habe ich in einer HTML Seite ein eingebettetes IFRAME in das ich per document.write eine Seite schreibe die ich dann später über POST an den Server übermittle (mit js zusammengesetzte Seite siehe Anhang 1).
Das geschieht in folgender Form:
iframe.document.charset = "iso-8859-1";
iframe.document.open();
iframe.document.write(formText);
iframe.document.close();
iframe.document.forms[0].vaMatchCode.value = vaMatchCode;
iframe.document.forms[0].submit();
In Zeile 5 wird der Matchcode automatisch aus einem anderen Feld übernommen.
Nun mein Problem:
Wenn in vaMatchCode ein Umlaut enthalten ist, kommt dieser nicht als Umlaut am Server an (Server ist in diesem Fall 4D 2004.4), sondern in einer anderen Kodierung.
Alle anderen Umlaute werden in meiner Anwendung korrekt an den Server übermittelt.
Was mich aber wirklich wundert ist, dass wenn ich die HTML Seite aus Anhang 1 (hier dann in chooselistform.shtml) als fertige Seite ins iframe lade, wie in folgender Zeile:
<iframe name="myiframe src="/chooselistform.shtml" style="visibility = hidden;" ></iframe>
und dann über "iframe.document.forms[0].vaMatchCode.value = vaMatchCode;" den Wert setze, funktioniert alles Bestens.
Aus diesem Grund schließe ich ein Fehlverhalten des Servers aus. Der Fehler ist also beim document.write zu suchen. Ich habe die Möglichkeit gefunden ein Charset mit zu übergeben, allerdings macht das keinen Unterschied.
Für Hilfe wäre ich sehr dankbar.
Nexus
Anhang 1
submitFormText = "<html>";
submitFormText += "<head>";
submitFormText += " <title></title>";
submitFormText += " <meta http-equiv='content-type' content='text/html;charset=ISO-8859-1'>";
submitFormText += " <meta http-equiv='pragma' content='no-cache'>";
submitFormText += " <meta http-equiv='EXPIRES' content='0'>";
submitFormText += " <meta http-equiv='CACHE-CONTROL' content='PRIVATE'>";
submitFormText += "</head>";
submitFormText += "<body>";
submitFormText += " <form action='/4DACTION/pSearchRelatedData3' method='post'>";
submitFormText += " <input style='width:0px;visibility=hidden' type='text' name='vaMatchCode' value='"+"'>";
submitFormText += " </form>";
submitFormText += "</body>";
submitFormText += "</html>";
ich bin gerade auf ein Problem gestoßen, wo ich leider nicht mehr weiterkomme . Hoffe mir kann jemand weiterhelfen.
Das Problem tritt mit dem IE 6.0 unter WinXP SP 2 auf. Da unsere Anwendung auf den IE zugeschnitten ist, habe ich die Sache noch nicht mit anderen Browsern versucht. Ein Umstieg ist ausgeschlossen.
Und zwar habe ich in einer HTML Seite ein eingebettetes IFRAME in das ich per document.write eine Seite schreibe die ich dann später über POST an den Server übermittle (mit js zusammengesetzte Seite siehe Anhang 1).
Das geschieht in folgender Form:
iframe.document.charset = "iso-8859-1";
iframe.document.open();
iframe.document.write(formText);
iframe.document.close();
iframe.document.forms[0].vaMatchCode.value = vaMatchCode;
iframe.document.forms[0].submit();
In Zeile 5 wird der Matchcode automatisch aus einem anderen Feld übernommen.
Nun mein Problem:
Wenn in vaMatchCode ein Umlaut enthalten ist, kommt dieser nicht als Umlaut am Server an (Server ist in diesem Fall 4D 2004.4), sondern in einer anderen Kodierung.
Alle anderen Umlaute werden in meiner Anwendung korrekt an den Server übermittelt.
Was mich aber wirklich wundert ist, dass wenn ich die HTML Seite aus Anhang 1 (hier dann in chooselistform.shtml) als fertige Seite ins iframe lade, wie in folgender Zeile:
<iframe name="myiframe src="/chooselistform.shtml" style="visibility = hidden;" ></iframe>
und dann über "iframe.document.forms[0].vaMatchCode.value = vaMatchCode;" den Wert setze, funktioniert alles Bestens.
Aus diesem Grund schließe ich ein Fehlverhalten des Servers aus. Der Fehler ist also beim document.write zu suchen. Ich habe die Möglichkeit gefunden ein Charset mit zu übergeben, allerdings macht das keinen Unterschied.
Für Hilfe wäre ich sehr dankbar.
Nexus
Anhang 1
submitFormText = "<html>";
submitFormText += "<head>";
submitFormText += " <title></title>";
submitFormText += " <meta http-equiv='content-type' content='text/html;charset=ISO-8859-1'>";
submitFormText += " <meta http-equiv='pragma' content='no-cache'>";
submitFormText += " <meta http-equiv='EXPIRES' content='0'>";
submitFormText += " <meta http-equiv='CACHE-CONTROL' content='PRIVATE'>";
submitFormText += "</head>";
submitFormText += "<body>";
submitFormText += " <form action='/4DACTION/pSearchRelatedData3' method='post'>";
submitFormText += " <input style='width:0px;visibility=hidden' type='text' name='vaMatchCode' value='"+"'>";
submitFormText += " </form>";
submitFormText += "</body>";
submitFormText += "</html>";