Jetzt kommt gleich noch die Version fuer den MS IE 3...
So, jetzt geht's weiter: Mit dem MS IE 3 kann man dies lokal ohne Webserver leider nicht testen, da er zu dumm ist, um zu erkennen, dass man auch bei lokalen HTML-Datein Argumente mittels des ?-Separators angeben kann. Aber man kann ja ein Unterverzeichnis namens Test (oder foo, wie der Ami sagen wuerde) auf seiner Homepage machen, und dann sollte es kein Problem sein.
------------------------------------------------------------------------------------------
<HTML>
<HEAD>
<SCRIPT LANGUAGE="JavaScript">
<!--
/* Diese Version funktioniert auch mit MS IE 3 */
function GetURLArgument(field) {
s = location.href; /* "http://URL?abc=content1&def=content2&ghi=content3" */
i = s.indexOf("?");
if (i == -1) return "";
s = s.substring(i, s.length); /* "?abc=content1&def=content2&ghi=content3" */
s = "&" + s.substring(1, s.length); /* why can't I just write s[0] = "&" ? */
/* now we have "&abc=content1&def=content2&ghi=content3" */
/* we're searching for the 'def' argument */
i = s.indexOf("&" + field + "=");
if (i == -1) return "";
s = s.substring(i + field.length + 2, s.length); /* we get "content2&ghi=content3" */
i = s.indexOf("&")
if (i == -1) return s; /* this is in case the LAST argument was requested */
return s.substring(0, i);
}
// -->
</SCRIPT>
</HEAD>
<BODY>
<FORM NAME="MyForm">
abc: <INPUT TYPE=TEXT NAME=abc SIZE=30><BR>
def: <INPUT TYPE=TEXT NAME=def SIZE=30><BR>
ghi: <INPUT TYPE=TEXT NAME=ghi SIZE=30><BR>
<INPUT TYPE=BUTTON VALUE="Fill in." OnClick="this.form.abc.value = GetURLArgument('abc'); this.form.def.value = GetURLArgument('def'); this.form.ghi.value = GetURLArgument('ghi');">
</FORM>
</BODY>
</HTML>
------------------------------------------------------------------------------------------
Also falls es nicht ganz ruebergekommen ist: Die drei Felder heissen 'abc', 'def' und 'ghi' (welch Einfallsreichtum wird mir da anheim). Und so muessen die Argumente in der URL auch heissen: ...file.html?abc=Sex&def=Drugs&ghi=Rock'N'Roll
Tja und dann kommt das naechste Problem: Dieser Argumentestring wird ja dann durch die Eingaben ins vorherige Formular gebildet. Und dabei werden alle Sonderzeichen in Hex-Values umgewandelt (mit ein %-Zeichen davor), anstatt unveraendert uebernommen zu werden. So wird ein Leerzeichen als zu %20. Die naechste Funktion wird also diese Hexe in normale Zeichen zurueckkonvertiern muessen, sonst wuerde bei der naechsten Weiterleitung %2520 uebergeben werden (%25 fuer das %-Zeichen, 20 unveraenndert uebernommen).
Soweit erstmal, Ciao