Avatar billede mr_miyagi Nybegynder
30. august 2007 - 20:41 Der er 15 kommentarer og
1 løsning

sende information fra side1 til side 2 via javascript

hej

Hvordan sender man information via javascript fra siden 1 til side 2

fx side1 har man nogle radiobuttons som man kan marker derefter sender man den information videre til side2, hvor man så kan bruge  document.write
så man får skrevet informationen fra knappen ud på side 2.

er absolut nybegynder i javascript.
Avatar billede cpufan Juniormester
30. august 2007 - 21:32 #1
http://www.html.dk/scripts/javascript/

kan give dig en ide om javascript

eller denne på engelsk

http://www.w3schools.com/js/default.asp
Avatar billede thesurfer Nybegynder
30. august 2007 - 21:35 #2
mr_miyagi>

Det nemmeste er at submitte formen, til den anden side, med method="get".

Eksempel:

- Formen

<form name="frmTest" action="side2.htm" method="get">
Fornavn: <input type="text" name="fornavn" value="hans">
<br>
Efternavn: <input type="text" name="efternavn" value="hansen">
<br>
<input type="submit" name="submitknap" value="Send">
</form>

- JavaScript koden på side2.htm

<script type="text/javascript">
function hent(felt)
{

querystring = window.location.search.substring(1);
kombination = querystring.split("&");
for(i = 0, len = kombination.length; i < len; i++)
{
    par = kombination[i].split("=");
    if (par[0] == felt) return par[1];
}
return "";
}

alert("Dit fornavn er " + hent("fornavn") + " og efternavn er " + hent("efternavn"));
</script>



Som du kan se, kan jeg bare bruge: hent("felt_navn_i_urlen")



cpufan> Har du overhovedet kigget på de sider..? :-)
Man skal nærmest være en ekspert, før man kan finde de oplysninger man skal bruge.. Faktisk tror jeg ikke at de har de nødvendige oplysninger :-)
Avatar billede thesurfer Nybegynder
30. august 2007 - 21:40 #3
cpufan> Hehe..
Udfordring til dig: Find de nødvendige oplysninger, så man kan lave mit script :-)

PS: Mit script er nok det nemmeste og mest simple script man kan lave, der kan netop det, som er formålet.. :-)

Man kan sikker lave nogle shortcuts, men de kræver nok flere ressourcer af browseren..
Avatar billede cpufan Juniormester
30. august 2007 - 21:46 #4
thesurfer<<<
nej jeg ved godt han ikke kan finde svar på specifikt dette problem,

men der er en masse gode færdige scripts, som han kan drage nytte af, og lære en del af, når nu han er "absolut begynder"

det er feks også en vigtig detalje at tingene skal være pakket ind i en form,
- at han kan vælge "post" i stedet for "get" osv.

jeg syntes spørgsmålet var af en karakter som lød, som om han var ude efter at lære javascript og fægtede sig lidt frem.
Avatar billede mr_miyagi Nybegynder
30. august 2007 - 22:28 #5
nu bruger du method=get i din form..
jeg skal helst bruge method=post, så informationerne ikke bliver sendt via querystring.


jeg har arbejdet en del med asp.net med c# og der plejer jeg at bruge et sessionsobjeck hvis ikke jeg sender det med en querystring.

men findes der ikke en metode i stil med dette her:
document.write(windows.parent.forms[0].elements[0).value);

syntes ikke rigtg jeg kan få det til at virke
Avatar billede mr_miyagi Nybegynder
30. august 2007 - 22:29 #6
jeg har været inde at kikke på de links som i har sendt, inden jeg postede her, men syntes ikke rigtig jeg kunne finde det som jeg skulle bruge
Avatar billede mr_miyagi Nybegynder
30. august 2007 - 22:48 #7
**men findes der ikke en metode i stil med dette her:
document.write(windows.parent.forms[0].elements[0).value);**

så det kommer til at se ud noget i denne stil.
side1
<form action="side2.html" method="post">
  <input type="radio" name="Question1" value="[#4#]button1 trykket" tabindex="1" />
  <input type="radio" name="Question1" value="[#4#]button 2 trykket" tabindex="2">
  <input type="radio" name="Question1" value="[#9#]button 3 trykket" tabindex="3">
  <input type="radio" name="Question1" value="[#4#]button 4 trykket" tabindex="4">
<input type="submit" value="næste">
</form>



på side 2

<script type=javascript>
document.write(dette blev der trykket: windows.parent.forms[0].elements[0].value);
</script>
Avatar billede cpufan Juniormester
30. august 2007 - 22:53 #8
hvis man vil poste til en html-side (statisk), kan man kun bruge metoden "get"

ergo kan du heller ikke tilgå formens data på den måde du ønsker.

hvis du vil benytte "post" skal det være til en server-side, feks asp, eller php.

som så tilgår formens data vhj af request.form("feltnavn")
Avatar billede mr_miyagi Nybegynder
30. august 2007 - 23:09 #9
dvs man skal ind og bruge asp.
Avatar billede mr_miyagi Nybegynder
30. august 2007 - 23:10 #10
?
Avatar billede thesurfer Nybegynder
30. august 2007 - 23:11 #11
mr_miyagi> Som cpufan skrev, kan JavaScript ikke få fat på værdierne, hvis du bruger method="post".

Du skal f.eks. bruge: Request.Form["Question1"]
Avatar billede thesurfer Nybegynder
30. august 2007 - 23:13 #12
Du kan evt se hvad der står i felter, med følgende kode.

<%
if (Request.Servervariables["request_method"] == "POST")
{

foreach(string item in Request.Form)
{
Response.Write(item + ": " + Request.Form[item] + "<br>");
}


} else {
Response.Write("Der er ikke sendt noget endnu"); // denne linie kan fjernes
}
%>

Koden er skrevet direkte ind på eksperten.dk, så der kan være småfejl..
Avatar billede mr_miyagi Nybegynder
01. september 2007 - 11:20 #13
oki.
Den metode har jeg også brugt før noget i den stil,men håbede der var en måde hvor man kunne gøre det med javascript, men javascript oversætter ikke fx %20 og de andre koder.

men cool  at i ville hjælpe :)

thesurfer du har hjulpet godt med kode, så smid lige et svar så får du pointene.
Avatar billede cpufan Juniormester
01. september 2007 - 11:28 #14
der skal du bruge den indbyggede function unescape()

se endvidere

http://www.w3schools.com/jsref/jsref_unescape.asp
Avatar billede olebole Juniormester
01. september 2007 - 17:43 #15
<ole>

De gamle funktioner escape og unescape har været deprecated i årevis. De funktioner, der skal bruges, er:
    http://developer.mozilla.org/en/docs/Core_JavaScript_1.5_Reference:Global_Functions:decodeURI

- og:
    http://developer.mozilla.org/en/docs/Core_JavaScript_1.5_Reference:Global_Functions:decodeURIComponent

Der findes næppe mindre troværdige sites end html.dk og w3schools.com. På det første site er det mere end vanskeligt at finde huller mellem fejlene - og på det sidste  er det blot vanskeligt at finde huller mellem fejlene  :o|

/mvh
</bole>
Avatar billede thesurfer Nybegynder
01. september 2007 - 20:48 #16
Svar jvf 01/09-2007 11:20:44.
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester