Avatar billede mette_s Nybegynder
12. december 2000 - 01:12 Der er 7 kommentarer og
1 løsning

document.entry.password.value

Hej alle i kloge hoveder - er der en der kan svare på følgende spørgsmål #

Hvis man bruger \" document.entry.password.value \" på en side så referer man rigtigt nok til den aktuelle from [formnavn = \"entry\"  og  tekstboxnavnet hedder \"password\"] i dette tilfælde. Men hvis jeg nu vil gemme værdien fra en form på en helt anden siden hvordan skaber jeg så den rigtige reference?

F.eks.  mainpage.document.entry.password.value

Eller
document.mainpage.entry.password.value

Pleaz Adv. Hilsen Mette

Avatar billede jakoba Nybegynder
12. december 2000 - 01:19 #1
Det kommer ligesom an på hvor den anden side er. Hvis det er fra en anden ramme i samme browservindue bruger du:

    top.frames.ramme_med_pass_felt_navn.document.entry.password.value

hvor ramme_med_pass_felt_navn er det (sikkert kortere) navn du gav rammen i din frameset fil.
Avatar billede jakoba Nybegynder
12. december 2000 - 01:34 #2
Hvis det er fra en popup side du har åbnet fra siden med et password felt:

  opener.document.entry.password.value

men det kan jo være mange steder fra, så det er nemmest at tænke på det som \"objekter\" med andre \"objekter\" og variable i

hele browservinduet er et objekt ved navn \"window\" (kan også kaldes \"self\"

window indeholder diverse generel info om siden plus fx den javascript du definerer i <head>.  Og så et ret stort objekt ved navn \"document\" der er det der bliver vist i browservinduet

og  \"opener\"  er så en popop-sides link tilbage til det \"window\" der åbnede den
i tilfældet med rammer skal vi først opad til det vidue der åbnede begge rammerne (og ved hvor de er). Det gør \"top\" (eller \"parent\" der er lidt korrektere her). Og derfra så op i den anden ramme (som vi er nødt til at adressere for der er jo 2 at vælge imellem.

mvh JakobA
Avatar billede jakoba Nybegynder
12. december 2000 - 01:50 #3
Når du åbner et nyt windue returnerer window.open(...) en variabel der ligger i vinduet og peger på det åbnede vindue.

var nyt_vindue = window.open(\"din_URL\", \"Vinduets_navn\", \"evt nogen flere parametre\");

Samtidig bliver \"Vinduets_navn\" lagt in i vinduets frames array så et felt i det nye vindue kan altså enten adresseres med

    nyt_vindue.document.entry.password.value
eller med
    frames.Vinduets_navn.document.entry.password.value

(Hvad gør man ikke for 200 points :-))

mvh JakobA
Avatar billede mette_s Nybegynder
12. december 2000 - 10:51 #4
Hej Jakob

Tak for dine svar men tror ikke jeg har været præcis nok. Referencen skal skabes til en anden side.  Dvs. at på siden \"a.html\" er der en fin lille knap og en tekstbox. Når man så trykker på knappen så starter den et javascript som ligger i \"index.html\"  [ onclick=\"parent.go()\" ].
Det er så meningen at Javascriptet skal \"fange\" det som står i tekstboxen f.eks

function go()
{
var gem = et_eller_anden.document.entry.password.value;
}

Gav det mere mening?

Venlig Hilsen Mette




Avatar billede jakoba Nybegynder
12. december 2000 - 16:56 #5
Ja. Dit felt ligger på en rammeside. ig du vil spørge på feltet fra den underliggende frameset fil.

I frameset filen har du udover javascript og så et frameset som fx

<frameset ... >
  <frame src=\"gud_ved_hvad\" >
  <frame src=\"a.html\" >
</frameset>

Det der mangler er et kaldenavn til at identificere den ramme filen a.html ligger i. Det gør du med en ekstra parameter i frame tagget for a.html :

  <frame src=\"a.html\" name=\"ramme_med_pass_felt_navn\" >

og så kan du kikke på feltet fra din go() routine med:

var gem = frames.ramme_med_pass_felt_navn.document.entry.password.value;

men medmindre det bare var for at lave et klart eksempel, så er jeg lidt loren ved den variabeldefinition inden i routinen. den forsvinder igen såsnart routinen har kørt færdig.

var gem = \"\";      // defineret udenfor routinen go()
function go()
{
  gem = frames.ramme_med_pass_felt_navn.document.entry.password.value; 
};

mvh JakobA
Avatar billede mette_s Nybegynder
12. december 2000 - 19:37 #6
Tusind Tak! Det var lige præcis det der manglede/skulle gøres :). Jeg har netop smidt de 200 point over til dig. Cheers!

Venlig Hilsen Mette
Avatar billede jakoba Nybegynder
12. december 2000 - 21:05 #7
Selv tak. :-))

For en anden gangs skyld kan du godt være lidt mere nærig med pointene. 200 var meget for det svar.

mvh JakobA
Avatar billede mette_s Nybegynder
13. december 2000 - 10:29 #8
Ja jo - det er jeg godt klar over men da jeg sjældent bruger \"eksperten.dk\" og jeg samtidig ville have et svar så hurtigt som muligt så....
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