Avatar billede ripley Nybegynder
18. juni 2003 - 13:50 Der er 13 kommentarer og
2 løsninger

Åbne nyt vindue ud fra valg i <select> og tryk på knap

JEg har søgt i eksperten.dk, men kan ikke helt finde svaret på mit spørgsmål og jeg kan ikke heeeelt huske, hvordan man gør følgende:

Hvis man har en <select>-boks med nogle valgmuligheder, så kan man vælge en af dem.
Når man så trykker på en knap (IMG), skal man vha. en OnClick-event kalde et javascript, der åbner et nyt vindue ud fra den URL, man har valgt i <select>.
Altså ikke noget med at submitte.

Kan man det?
Avatar billede roenving Novice
18. juni 2003 - 13:55 #1
ja da,

<select onchange="window.open(this.options[this.selectedIndex].value)">
<option value="www.eksperten.dk>Eksperten
<option value="www.msdn.dk>Microsoft developers
</select>
Avatar billede ripley Nybegynder
18. juni 2003 - 13:56 #2
Neeeej, man skal først klikke på knappen/billedet, før der sker noget!
Avatar billede monkeysee Nybegynder
18. juni 2003 - 13:58 #3
Tjah, du skal bare huske at indkapsle din <select> boks i en <form> alligevel, ellers dukker den ikke op i nogle browsere.

-------------------------
<script language="JavaScript">
<!--
function popUp(URL,w,h) {
    day = new Date();
    id = day.getTime();
    win_width=w
    win_height=h
    win_left=(screen.availWidth/2)-(w/2)
    win_top=(screen.availHeight/2)-(h/2)
    eval("page" + id + " = window.open(URL, '" + id + "', 'toolbar=0,scrollbars=0,location=0,statusbar=1,menubar=0,resizable=1,width="+win_width+",height="+win_height+",left="+win_left+",top="+win_top+"');");
}

//-->
</script>
<form>
<select onchange="popUp(this.options[this.selectedIndex].value,400,200)" size="1">
<option value="side1.htm">side1</option>
<option value="side2.htm">side2</option>
<option value="side3.htm">side3</option>
<option value="side4.htm">side4</option>
</select>
</form>
Avatar billede monkeysee Nybegynder
18. juni 2003 - 13:59 #4
Og jeg glemte vist også "knappen"...
Avatar billede roenving Novice
18. juni 2003 - 13:59 #5
Men nu har du set, at der slet ingen problemer er med at hente værdien ...

<button onclick="a=this.form.minSelect;window.open(a.options[a.selectedIndex].value)">IMG</button>

-- og så skal onchange på selecften selvfølgelig væk ...
Avatar billede schaefner Juniormester
18. juni 2003 - 14:00 #6
<form>
<select name="c">
<option value="http://www.eksperten.dk">Eksperten</option>
<option value="http://www.msdn.dk2">Microsoft developers</option>
</select><br><br>
<button onclick="window.open(this.form.c.options[this.form.c.selectedIndex].value)">Tag mig</button>
</form>
Avatar billede monkeysee Nybegynder
18. juni 2003 - 14:03 #7
------------------------
NU med KNAP
-----------------------

<script language="JavaScript">
<!--
function popUp(URL,w,h) {
    day = new Date();
    id = day.getTime();
    win_width=w
    win_height=h
    win_left=(screen.availWidth/2)-(w/2)
    win_top=(screen.availHeight/2)-(h/2)
    eval("page" + id + " = window.open(URL, '" + id + "', 'toolbar=0,scrollbars=0,location=0,statusbar=1,menubar=0,resizable=1,width="+win_width+",height="+win_height+",left="+win_left+",top="+win_top+"');");
}

//-->
</script>
<form>
<select name="selectBox" size="1">
<option value="side1.htm">side1</option>
<option value="side2.htm">side2</option>
<option value="side3.htm">side3</option>
<option value="side4.htm">side4</option>
</select>
<input type="button" onclick="popUp(document.forms[0].selectBox.options[document.forms[0].selectBox.selectedIndex].value,400,200)">
</form>
Avatar billede ripley Nybegynder
18. juni 2003 - 14:36 #8
Hvorfor kan jeg bare ikke få fat i min form på den måde?
documents.forms[0] osv... jeg får bare at vide, at det ikke er en gyldig reference..
Avatar billede roenving Novice
18. juni 2003 - 14:40 #9
Hvis du har knappen i samme form er det nemmere at bruge this.form end at bruge document.forms[0] ...
Avatar billede roenving Novice
18. juni 2003 - 14:40 #10
-- og ikke noget s i document ...
Avatar billede schaefner Juniormester
18. juni 2003 - 14:42 #11
Jeg vil lige tillade mig at lægge et svar for kommentaren d. 18/06-2003 14:00:59
Avatar billede ripley Nybegynder
18. juni 2003 - 14:52 #12
Hov - jeg har flere forms på siden.
Så er jeg nødt til at referere direkte til form-navnet, hvordan gør jeg det?
Avatar billede roenving Novice
18. juni 2003 - 14:53 #13
document.formNavn.etEllerAndet ...

eller

document.forms['formNavn']
Avatar billede schaefner Juniormester
18. juni 2003 - 15:08 #14
så længe din vindue-åben-fætter-ting står inde i en form, så kan du vel stadig bruge this.form, den referer vel kun til den form den er "indkapslet" i?
Avatar billede ripley Nybegynder
19. juni 2003 - 11:44 #15
Jeg synes næsten, I begge skal have points - nu virker det :o)
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