14. november 2001 - 16:04Der er
13 kommentarer og 2 løsninger
Hent fra form - evt. jacoba
Hej, andre må selvfølgelig også svarre, men det er jacoba der har lavet det første!!
Dette henter navnet ind i et nyt dokument, men jeg skal også hente firmanavn, adresse, postnr, by, telefonnr og mobilnr. Jeg skal også have hentet en chekbox ind, hvordan gør jeg det??
Her er koderne til det første \"navn\"
<script type=\'text/javascript\'> <!--
var navn = \"\" var tmp = document.URL.split(\"?\"); if ( tmp.length > 1 ) { tmp = tmp[1].split(\"=\"); if ( tmp[0] == \'navn\' ) { navn = unescape( tmp[1] ); //rettet navn1 til navn } }
var navn = \"\" var firmanavn = \"\" var adresse = \"\" var postnr = \"\" var by = \"\" var telefonnr = \"\" var mobilnr = \"\" var tmp = document.URL.split(\"?\"); tmp3=tmp.split(\"&\") for(i=0;i<tmp3.length;i++) { tmp2 = tmp3[i].split(\"=\"); switch(tmp2[0]) { case \'navn\': navn=unescape(tmp2[1]);break; case \'adresse\': adresse=unescape(tmp2[1]);break; case \'postnr\': postnr=unescape(tmp2[1]);break; case \'by\': by=unescape(tmp2[1]);break; case \'telefonnr\': telefonnr=unescape(tmp2[1]);break; case \'mobilnr\': mobilnr=unescape(tmp2[1]);break; } } Til <script>document.write(navn) document.write(adresse) document.write(postnr) document.write(by) document.write(telefonnr) document.write(mobilnr) </script>
kort sagt vil su have alle feltværdier ført med over :-))
lav et script i den side hvor du har formularen:
<script type=\'text/javascript\'>
function buildParStrAuto( frm ) { // byg streng fra form data // automatisk. senden alle feltnavne og verdier. //alert (\">>\" +frm +\" \"+frm.length); var sumStr = \"\"; var separator = \"?\"; for (var i=0; frm.length>i; i++) { //alert (\"frm[i].name = \" +frm[i].name ); sumStr += separator +frm[i].name +\"=\"; switch ( frm[i].type ) { case \"select-one\" : sumStr += frm[i].selectedIndex; break; case \"checkbox\" : ; case \"radio\" : sumStr += frm[i].checked; break; case \"text\" : ; case \"hidden\" : ; case \"password\" : ; case \"textarea\" : sumStr += escape( frm[i].value ); break; default : sumStr += escape( \"felttype:\'\" +frm[i].type +\"\'\" ); }; //endswitch separator = \"&\"; }; return sumStr; }; //end buildParStrAuto( form_objekt ) -> string
</script>
der hvor du før skrev: this.href=\'nytdokument.html?navn1=\'+escape(document.emne.navn1.value) skriver du så istedet: this.href=\'nytdokument.html\'+buildParStrAuto(document.emne)
på modtagersiden skifter undsætter du
<script type=\'text/javascript\'>
function getValues(){ var urlEnd = document.URL.indexOf(\'?\'); var values = new Array(); if (urlEnd != -1){ var params = document.URL.substring(urlEnd+1); // hele strengen fra ? og frem values = params.split(\'&\'); // opdel til et array på \"&\" valLgt = values.length; for(var i=0; valLgt>i; i++) { values[i] = values[i].split(\'=\'); // opdel til underarrays (navn,value) på \"=\" window[values[i][0]] = unescape( values[i][1] ); // konverter %nn koder i value til xxx-chars } } }; //end getValues() -> Array
getValues();
// nu er der oprettet javascript variable med de samme navne felterne // havde i formen, og de navne kan du så bruge:
<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0 Transitional//EN\"> <HTML> <HEAD> <script> var navn = \"\" var firmanavn = \"\" var adresse = \"\" var postnr = \"\" var by = \"\" var telefonnr = \"\" var mobilnr = \"\" var tmp = window.location.search.substr(1) tmp3=tmp.split(\"&\") document.write(tmp3[1]) for(i=0;i<tmp3.length;i++) { tmp2 = tmp3[i].split(\"=\"); switch(tmp2[0]) { case \'navn\': navn=unescape(tmp2[1]);break; case \'adresse\': adresse=unescape(tmp2[1]);break; case \'postnr\': postnr=unescape(tmp2[1]);break; case \'by\': by=unescape(tmp2[1]);break; case \'telefonnr\': telefonnr=unescape(tmp2[1]);break; case \'mobilnr\': mobilnr=unescape(tmp2[1]);break; } }
Det var de 30 point! Hvis du kan fortælle mig hvordan jeg laver mine 2 chekboxe får du 20 point mere!
Du kan se at der står \"Du har valgt at bliver medlem for sæsongen false\", men i stedet for false skal der fx stå 2001/2002 hvis brugeren vælger chekbox1 og 2002/2003 hvis der vælges chekbox2, kan du lave det??
linien i besvar.htm kan evt ændres til: <script>document.write( (tjek)?\"2001/2002\":\"2002/2003\" )</script> så blir der denne sæson hvis der klikkes og næste hvis der ikke klikkes. ( den checkboks trænger også til lidt forklarende tekst :-)
Jeg ved godt at der mangler en checkbox og noget kommentar, men det skal jeg nok få lavet. Tak for hjælpen
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.