Avatar billede w13 Novice
09. oktober 2005 - 15:32 Der er 7 kommentarer og
1 løsning

"Et hexadecimalt ciffer var ventet"

Hej Eksperter...

Ved en formular har jeg følgende function, som åbner et nyt vindue:

----------------------------------
<script language="javascript">
function ChoosePic(sInputName)
{
    window.open('../galleri/galleri_pictures.asp?popup=yes', 'Billedarkiv', 'toolbar=1, status=yes, titlebar=yes, dependent=1, width=395, height=202');
}
</script>
----------------------------------

På den nye side kan man så klikke på et link, der er kodet således:

----------------------------------
<a onclick="java script:SetPictureOnParent();" href="java script:history.go(-1)">
----------------------------------

Og til det er der følgende function:

----------------------------------
<script language="javascript">
    function SetPictureOnParent() {
        sRetPicture = 'text'
        window.opener.eval('billed').value = sRetPicture;
        window.close();
    }
</script>
----------------------------------

Hvorfor siger den side så: "Et hexadecimalt ciffer var ventet" ?

På forhånd tak...
W13
Avatar billede roenving Novice
09. oktober 2005 - 15:34 #1
Hvad er 'billed' for en tingest ?-)
Avatar billede w13 Novice
09. oktober 2005 - 15:37 #2
Det er navnet på tekst-feltet...

Og koden er en, jeg har fundet og redigeret lidt i. Er SÅ dårlig til javascript! Så har gættet lidt =)

"function ChoosePic(sInputName)" skal desuden bare være "function ChoosePic()"
og "<a onclick="java script:SetPictureOnParent();" href="java script:history.go(-1)">"
skal bare være "<a onclick="java script:SetPictureOnParent();">"

=)
Avatar billede roenving Novice
09. oktober 2005 - 15:45 #3
Generelt hedder det:

(window.)opener.document.FORMNAVN.FELTNAVN.value, når du skal have fat i et felt i åbnervinduet (window må gerne underforstås !-)

-- og så er java script: i hændelser en total misforståelse af java script:-pseudo-protokollen, så det skal du fjerne alle steder undtaget i href-ting !-)

-- altså:

<a onclick="SetPictureOnParent();return false;">

-- hvor return false; lige sættes på for at undgå at vinduet prøver at reloade først !o]

-- iøvrigt har du vel også flere forskellige billeder i popuppen (ellers giver den jo ikke mening !-), og så er det meget nemmere at bruge en parameter til funktionen:

<a onclick="SetPictureOnParent('Pic1');return false;"><img src="thumbPic1.gif" border="0"></a>
<a onclick="SetPictureOnParent('Pic2');return false;"><img src="thumbPic2.gif" border="0"></a>
<a onclick="SetPictureOnParent('Pic3');return false;"><img src="thumbPic3.gif" border="0"></a>

-- og så en funktion således:

<script type="text/javascript">
    function SetPictureOnParent(sRetPicture) {
        opener.document.FORMNAVN.billed.value = sRetPicture;
        self.close();
    }
</script>
Avatar billede w13 Novice
09. oktober 2005 - 16:01 #4
Ja, nu får jeg ikke fejl. Men den skriver intet i feltet på Parent-vinduet :-S

Prøv selv: http://www.el-hockey.red-bulls.dk/admin/opret_spiller.asp
Avatar billede roenving Novice
09. oktober 2005 - 16:07 #5
Du kalder jo slet ikke funktionen ?-)

<a href="java script:window.close()">
Avatar billede w13 Novice
09. oktober 2005 - 16:48 #6
Irriterende :-p
Men nu virker det da... hvis du lige opretter svar, kan du få point =)
Avatar billede roenving Novice
09. oktober 2005 - 16:49 #7
Velbekomme '-)
Avatar billede roenving Novice
09. oktober 2005 - 22:04 #8
-- og tak for point ;~}
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