peterS.: Stringzerlegung oder auslesen von QUERYSTRINGS

Beitrag lesen

gruss namens-vetter,

wenn Du damit leben kannst, dass der folgend gepostete code
   einige einschraenkungen hinsichtlich der erlaubten zeichen
   http://aktuell.de.selfhtml.org/artikel/javascript/wertuebergabe/index.htm#a5
   (wie dort beschrieben) aufweist, kannst Du auch mal diesen
   5-zeiler ausprobieren:

function getURLparameters() {
 if (self.location.search.indexOf("=") == -1) {return;}

var parameterArray = unescape(self.location.search).substring(1).split("&");
 for (var i=0;i<parameterArray.length;i++) {
  parameterArray[i] = parameterArray[i].split("=");
  eval("query." + parameterArray[i][0] + " = "" + parameterArray[i][1] + """);
 }
}

eingebettet in eine mit erklaerungen versehene anwendung
   schaut das ganze dann so aus:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>

<head>
<title>getURLparameters.html</title>
<script language="JavaScript" type="text/javascript">
<!--
/*
 im objekt query stehen die parameterName-parameterWert-paare;

alle weiteren funktionen koennen ueber die objekt-schreibweise(punktoperator z.b.: "query.content")
 auf die werte zugreifen - mit "if(query.parameterName)" kann geprueft werden, ob ein entsprechender
 eintrag (parameterName) existiert;

die zweite moeglichkeit des zugriffs nutzt die array-eigenschaften eines js-objekts:
 im oben genannten bsp. kann mit "if(query['parameterName'])" dasselbe ergebnis erreicht werden;

noch ein bsp. fuer die arrayschreibweise - hier werden alle namen und parameter des noch unbekannten
 objekts ausgelesen und dargestellt:

function getQueryProps() {
  var text = "";
  for (property in query) {
   text += property + " = " + query[property] + ";";
  }
  return text;
 }
 alert(getQueryProps());
*/
// ------------------------------------------------------------------------------------------

var query = new Object();

function getQueryProps() {
 var text = "";
 for (property in query) {
  text += property + " = " + query[property] + ";\n";
 }
 return text;
}

function getURLparameters() {
 if (self.location.search.indexOf("=") == -1) {return;}

var parameterArray = unescape(self.location.search).substring(1).split("&");
 for (var i=0;i<parameterArray.length;i++) {
  parameterArray[i] = parameterArray[i].split("=");

//alert(parameterArray[i][0] + " = "" + parameterArray[i][1] + "";");
  //eval(parameterArray[i][0] + " = "" + parameterArray[i][1] + "";");

eval("query." + parameterArray[i][0] + " = "" + parameterArray[i][1] + """);
 }
 alert(getQueryProps());
}
//-->
</script>
</head>

<body onload="self.getURLparameters();">
<table cols="1" rows="1" width="100%" height="100%" cellspacing="0" cellpadding="0" border="0">
<tr>
 <td align="center" valign="middle">

<form name="myForm" method="get" target="_blank" action="getURLparameters.html">
 <table cols="3" rows="6" cellspacing="0" cellpadding="10" border="0">
 <tr>
  <td align="left" valign="top">Familienname</td>
  <td align="left" valign="top">:</td>
  <td align="left" valign="top"><input type="text" name="sureName" size="35" maxlength="30"></td>
 </tr>
 <tr>
  <td align="left" valign="top">Vorname</td>
  <td align="left" valign="top">:</td>
  <td align="left" valign="top"><input type="text" name="name" size="35" maxlength="30"></td>
 </tr>
 <tr>
  <td align="left" valign="top">Sraße</td>
  <td align="left" valign="top">:</td>
  <td align="left" valign="top"><input type="text" name="street" size="35" maxlength="30"></td>
 </tr>
 <tr>
  <td align="left" valign="top">PLZ</td>
  <td align="left" valign="top">:</td>
  <td align="left" valign="top"><input type="text" name="zipCode" size="35" maxlength="30"></td>
 </tr>
 <tr>
  <td align="left" valign="top">Ort</td>
  <td align="left" valign="top">:</td>
  <td align="left" valign="top"><input type="text" name="location" size="35" maxlength="30"></td>
 </tr>
 <tr>
  <td align="left" valign="top"> </td>
  <td align="left" valign="top"> </td>
  <td align="left" valign="top"><input type="submit" value="          abschicken          "></td>
 </tr>
 </table>
 </form>

</td>
</tr>
</table>
</body>

</html>

viel spass und by(t)e by(t)e - peterS. - pseliger@gmx.net