SOLL mit Javascript geschehen, 1.Warum SOLL das?
weil mein Bekannter es ggf. lokal weiterentwickeln können will und sich noch nicht für lokale PHP-Installation interessiert hat ( auf seinem Windows Laptop ); auf meinem Linux Desktop wars mir mal gelungen, aber auf eine Weise bei der es, wie Helfer bei linuxforen.de voraussagten, wieder weg sein würde . Traf zu.
- Warum nützt POST bei JavaScript
ja wie kann man denn per js in der Zielseite die durch window.location.href = ... aktiv wird auf die Daten die 'submitted' wurden zugreifen?
Aber wie auch immer - ich würde es ja ohne JavaScript machen.
mit PHP hatte ich ja schon praktisch fertig - aber siehe oben
Hier mal meine jetzigen Experimente; hab mich mit meinem Bekannten etwas zerstritten,
versucht jetz wohl ähnliches alleine.
/* AUFBAU DER 3 SEITEN
* 1.Seite: input text, input email,
* input text, input text, input text
* 2.Seite: select mit 16 options
* 4 input radio, gleichnahmig
* 1 checkbox
* 1 textarea
*
* 3.Seite: input text, input email, } default aus
* input text, input text } 1. Seite
* select mit 16 options } wie 2.Seite, default von dort
*
* input text } default aus 1. Seite, 5. input
*
* 4 input radio
* 1 checkbox
* 1 Textarea
* Übergang von 1. zu 2. zu 3. Seite mit window.location.href = ...
* Datenübertragung via Parametern in ..., zusammengebaut mit javascript,
* die action der 1. und 2. formulare sind javascript-Funktionen .
* PROBLEM: Sonderzeichen in den Texten die nicht 'verboten' werden können,
* z.B. '%', daher als Trennzeichenfolg zum Splitten des Parameter-
* strings String.fromCharacterCode(1,2);
* Leider
* funktioniert z.b. mit 'NN%N@N?N=NNNNN' ( die ' sind nicht enthalten )
* nicht.
* ==============================================================================
*/
// Code für Übergang 1.->2. Seite
function passData()
{ var inputs = document.getElementsByTagName('input')
,daten = 'jsWIRBLER SIGN UP2.php?'
;
for(var j = 0; j < 4; j++) // name, email, postadresse, city; zipcode
{
daten += inputs[j].value + String.fromCharCode(1,2);
}
} // ============================================================================
// 2.Seite zu 3. Seit
function passData() { var splitAt = String.fromCharCode(1,2);
var fromAndToLocation
=
'jsCIRBLER SIGN UP3.php?' //neues ziel
+ ( decodeURI(window.location.href) //durchreich
// Params
).substr(window.location.href.indexOf('?')+1)
;
var data = document.getElementsByTagName('option');
var j = 0;
while( !data[j].selected ) j++ // finde selectierte Gegend und merke
; // den Index; in jsCIRBLER SIGN UP3.php
fromAndToLocation += splitAt +j;// sollte die Reihenfolge dieselbe sein
data = document.getElementsByTagName('input');
j = 0;
while( !data[j].checked ) j++; // geklicktem level finden
fromAndToLocation += splitAt + j // und merken;
+ splitAt
+ (data[4].checked) ? 1 : 0 // partner
+ splitAt
+ document.getElementsByTagName('textarea')[0].value; window.location.href = encodeURI(fromAndToLocation);
}// ==================================================================
// DATENÜBERNAHME IN 3.SEITE
function datenUebernahme(){
var daten = decodeURI( window.location.href
.substr( window.location.href.indexOf('?')+1)
)
. split( String.fromCharCode(1,2) );
var dst = document.getElementsByTagName('input'); // REIHEOFLGSÄNDERUNG IM
for(var j = 0; j++ < 4; ) dst[j].value // name, email, postadresse,
= daten[j]; // city ,zipcode,
dst[5 + 1*daten[6] ] = 1; // level ???
dst[9] = daten[7]; // partner
document.getElementsByTagName('option')[ daten[5] ].selected = 1 // area
document.getElementsByTagName('textarea').value = daten[5]
}
window.addEventListener('load', datenUebernahme());