Avatar billede Tony Juniormester
26. marts 2003 - 17:16 Der er 6 kommentarer og
1 løsning

Sende indhold af formular fra et html-dokument til et andet ?

Jeg vil gerne (klientside) sende indholdet af formen ’sender’ i sender.html til formen ’target’ i target.html, men det vil ikke, lige som jeg gerne vil have det til. Hvad er galt ?

Afsender: sender.html
<form name="sender" id="sender" method="post" action="target.html">
En tekst
<input type="text" name="text" id="text" size="20">
</form>

Modtager: target.html
<form name="target" id="target">
En tekst
<input type="text" name="text" id="text" size="20">
</form>
Avatar billede raffar Juniormester
26. marts 2003 - 17:56 #1
Det kan du ikke udelukkende ved hjælp af HTML!
Avatar billede Tony Juniormester
26. marts 2003 - 17:59 #2
OK

PHP og / eller JS er acceptabelt, så længe det overholder IE + NS 4.0 og kører klintside ...
Avatar billede alvion Nybegynder
26. marts 2003 - 20:17 #3
Ok dette er ikke testet, men det burde virke:

Din form's method SKAL være GET, for clientside scripts har kun adgang til adresseliniens parametre.

Vi formoder, at brugeren har skrevet "Carsten" i inputfeltet

I target.html skal du bruge følgende java script:

// window.location.search indeholder strengen "?text=Carsten"
var data = window.location.search.substring(1);

// data indeholder nu strengen minus "?"

if (data.length > 0) {
  data = data.split("=");
  eval("window." + data[0] + " = " + data[1].split("+").join(" ") + ";");
}

// Nu indeholder window objektet en ny attribut, som hedder "text" med værdien "Carsten"
// Nu kan du så indsætte denne værdi i formen:

document.target.text.value = window.text;
Avatar billede Tony Juniormester
26. marts 2003 - 20:30 #4
OK - tak skal du ha' :)
Avatar billede olebole Juniormester
26. marts 2003 - 21:48 #5
<ole>

Nu skal vi lige passe på, da det vist ikke er alle de ældre browsere, du sikkert gerne vil understøtte (jeg kender dig jo som lidt af en browser-kustode ... hehe), der 'kender til' location.search. Under alle omstændigheder returnerer den query-strengen - incl. '?'). Dette vil virke i de browsere, du ønsker:

var loc = location.href;
if ( loc.indexOf("?")!=-1 ) {
  var txtData = loc.split("?")[1].split("=")[1];
  document.targetForm.textField.value = txtData;
}

Læg mærke til, jeg har omdøbt din form og dit felt ... 'target', som navn til formen er ikke så velvalgt, da det ord bruges til andet i JS ... 'text' bruges som type på elementet. Man bør altid så vidt muligt undgå ord, som man selv - eller JS kan misforstå  ;o)

Derudover bør man så vidt muligt undgå eval()-funktionen, da den er et langsomt svin. Her er den helt unødvendig - så den stryger vi  :)

/mvh
</bole>
Avatar billede Tony Juniormester
27. marts 2003 - 08:04 #6
Hej Ole !

Os fortvivlede kustoder, der hvileløst vandre af webbets endeløse gange og hvirvler støv op i hedengangne browsere, er desværre nød til at forholde os til de mange der sidder på med en affældig Win. NT og IE 4.01 .. ak ak – på den anden side; kan du huske da vi fladt i ’svimelse’ over en snurende .gif :) - I mit næste liv vil jeg hellige mig Jazz og blæse i en hul australsk pind :)

Tak for indsparket … jeg tror (ved nu), at vi holder det hele i PHP …
Avatar billede olebole Juniormester
27. marts 2003 - 08:20 #7
Cool ... så vil jeg bare æde et par orme og snotte lidt i min didgeridoo  ;oD
/mvh
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