Avatar billede troelsm Nybegynder
07. januar 2008 - 13:06 Der er 12 kommentarer og
1 løsning

Sætte session variable fra en combobox som kan hentes på asp side

Hejsas

jeg har følgende combo boks
<select name="dropdownmenu" onChange="goToURL(this.form)" SIZE="1" style="font-family: Verdana; font-size: 8 pt; color: #000080; font-weight:bold">
    <option selected value="0">&nbsp;&nbsp;Vælg &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</option>
    <option value="http://www. websted.dk/hent.asp?id=1"><b>1o</b></option>
    <option value="http://www. websted.dk/hent.asp?id=2"><b>2</b></option>
    <option value="http://www. websted.dk/hent.asp?id=3"><b>3</b></option>                 
</select>
</nobr>

den kalder
<script language="JavaScript">
function goToURL(form)
{
var myindex=form.dropdownmenu.selectedIndex
if(!myindex=="")
{
window.location.href=form.dropdownmenu.options[myindex].value;
}
}
</script>
som kalder den samme side hvilket er godt nok da jeg så kan hente variable med
valgtid = request.querystring("id")

men jeg har en comboboks mere
<nobr>
<select name="aarstal" SIZE="1" style="font-family: Verdana; font-size: 8 pt; color: #000080; font-weight:bold">
    <option selected value="0">&nbsp;&nbsp;Vælg "Årstal"&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</option>
    <option value="2008"><b>2008</b></option>
    <option value="2007"><b>2007</b></option>
</select>
</nobr>

og det som er valgt i denne ville jeg også gerne hente men dette virker ikke
aarstal = request.form("aarstal")

Jeg tænkte derfor på om man kan sætte valgt via et javascript i en sessions variable som jeg så kan hente når siden kaldes igen,,

elller er der andre løsninger
Avatar billede w13 Novice
07. januar 2008 - 14:24 #1
Det kan du ikke nej, men du kan i stedet rette din javascript-funktion til:

<script language="JavaScript">
function goToURL(form)
{
var myindex=form.dropdownmenu.selectedIndex;
if(!myindex=="")
{
window.location.href=form.dropdownmenu.options[myindex].value+"?aarstal="+document.getElementById("aarstal").options[document.getElementById("aarstal").selectedIndex].value;
}
}
</script>

Og så retter du lige årstal-selecten:

<nobr>
<select id="aarstal" SIZE="1" style="font-family: Verdana; font-size: 8 pt; color: #000080; font-weight:bold">
    <option selected value="0">&nbsp;&nbsp;Vælg "Årstal"&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</option>
    <option value="2008"><b>2008</b></option>
    <option value="2007"><b>2007</b></option>
</select>
</nobr>

Og med disse koder skulle du kunne hente årstal med:
aarstal=Request.Querystring("aarstal")
Avatar billede troelsm Nybegynder
07. januar 2008 - 15:01 #2
# w13 virker perfekt,

en enkelt lille finesse - det skal være & og ikke ?
så der skal stå
window.location.href=form.dropdownmenu.options[myindex].value+"&aarstal="+document.getElementById("aarstal").options[document.getElementById("aarstal").selectedIndex].value;
Avatar billede w13 Novice
07. januar 2008 - 15:02 #3
Den overså jeg ja. =) Men tak for point!
Avatar billede roenving Novice
08. januar 2008 - 00:00 #4
Hvorfor ikke bruge selectens value direkte, der er vel ingen der bruger IE3 med js v1 mere:

<script type="text/javascript">
function goToURL(form){
  if(form.dropdownmenu.selectedIndex>0){
    window.location.href=form.dropdownmenu.value+"&aarstal="+document.getElementById("aarstal").value;
  }
}
</script>

-- og i den version er det jo også stærkt tvivlsomt om DOM v1 virker !-)
Avatar billede troelsm Nybegynder
08. januar 2008 - 17:05 #5
Ikke fordi jeg lige kan se forskellen på løsninge fra w13 - roenving - så virker begge to, jeg har dog et enkelt ekstra ?

Når jeg kalder den siden hvor jeg har indsat ovenstående funktion på med følgende script så virker ovenstående ikke???
Ved i hvorfor

<SCRIPT LANGUAGE="JavaScript">
function popup2(t,w,x,y)
{
window.open('http://websted.dk/vis_valgcombo.asp?id1='+t+'&id2='+w+'&id3='+x+'&id4='+y,'win1','width=900,height=500,resizable')
}
</SCRIPT>
Avatar billede w13 Novice
08. januar 2008 - 17:15 #6
Hvad med:

<script type="text/javascript" language="javascript">
function popup2(t,w,x,y){
window.open('http://websted.dk/vis_valgcombo.asp?id1='+t+'&id2='+w+'&id3='+x+'&id4='+y,'win','width=900,height=500,resizable')
}
popup2(1,2,3,4)
</script>

1,2,3,4 skal så selvfølgelig ændres til det, der nu skal overføres til id1, id2, id3 og id4.
Avatar billede w13 Novice
08. januar 2008 - 17:16 #7
Bemærk også, at jeg har indsat type="text/javascript" som egentlig _skal_ være der i HTML 4.01.
Avatar billede troelsm Nybegynder
08. januar 2008 - 18:22 #8
Tror måske ikke jeg har forklaret mig korrekt :-)

Jeg kalder en side med følgende funktion
SCRIPT LANGUAGE="JavaScript">
function popup2(t,w,x,y)
{
window.open('http://websted.dk/vis_valgcombo.asp?id1='+t+'&id2='+w+'&id3='+x+'&id4='+y,'win1','width=900,height=500,resizable')
}
</SCRIPT>

så langt så godt - nu er siden åben
på denne nu åbne side har jeg combo bokse med nedenstående kode som i viste mig...
script language="JavaScript">
function goToURL(form)
{
var myindex=form.dropdownmenu.selectedIndex;
if(!myindex=="")
{
window.location.href=form.dropdownmenu.options[myindex].value+"&aarstal="+document.getElementById("aarstal").options[document.getElementById("aarstal").selectedIndex].value;
}
}
</script>

men når der nu vælges noget i comboboksen så sker der intet og jeg får bare en fejl..
Linje : 14
Tegn : 1
Fejl : Et objekt er obligatorisk
Kode : 0
URL adresse : http://websted.dk/vis_valgcombo.asp?id=1&aarstal=7
Avatar billede w13 Novice
08. januar 2008 - 18:38 #9
Hvad er linje 14 i koden? Jeg kan ikke se siden.
Avatar billede troelsm Nybegynder
08. januar 2008 - 18:54 #10
Linie 14 er faktisk kald til vinduet

1. <html>

2. <head>
3. <meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
4. <meta name="GENERATOR" content="Microsoft FrontPage 6.0">
5. <meta name="ProgId" content="FrontPage.Editor.Document">
6. <title>Spillerens resultater !</title>
7. <link rel="stylesheet" type="text/css" href="topmenu/global.css">
8. <script type="text/javascript">
9. function goToURL(form)
10. {
11. var myindex=form.dropdownmenu.selectedIndex;
12. if(!myindex=="")
13. {
14. window.location.href=form.dropdownmenu.options[myindex].value;
15. }
16. }
17. </script>
Avatar billede w13 Novice
08. januar 2008 - 19:01 #11
Så må du prøve forskellige ting:

alert(myindex);
alert(form);
alert(form.dropdownmenu);
alert(form.dropdownmenu.options[myindex]);
alert(form.dropdownmenu.options[myindex].value);

Hvilken af disse giver fejl?
Avatar billede troelsm Nybegynder
08. januar 2008 - 19:51 #12
Sorry w13,
sorry fordi jeg har taget af din tid :-)

Desværre var det en fejl jeg selv burde have set...
Jeg (tåbe) havde kopieret det fra et andet sted hvor jeg også burde det og havde glemt at kopiere <form> </form> med over i det nye dokument...
Så nu har jeg indsat dette og det virker perfekt,,,
Avatar billede w13 Novice
08. januar 2008 - 19:53 #13
:P
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