webForumDet fria alternativet

dropdownmeny fel i firefox

13 svar · 1 049 visningar · startad av jake

jakeMedlem sedan sep. 2001649 inlägg
#1
<form>
<SELECT NAME="val"
onChange="window.open(this.options[this.selectedIndex].value,'');">
<OPTION SELECTED value="nochoice">välj här</option>
<OPTION value="nochoice">____________________
<OPTION VALUE="url">sida 1
...

Så här ser början på en dropdownbox ut...
i de flesta webbläsare så visas just raden selected
innan man gör ett val men i firefox visas raden under selected...

fel på firefox eller bode jag skriva på något annat sätt?

jarvkloMedlem sedan juli 20013 378 inlägg
#2

Hmm...

Om det är en bugg eller något annat vet jag inte, men det låter som om att du kanske inte bör ha exakt samma VALUE på de bägge första option-taggarna om du vill kunna välja ut en av dem som "selected" på ett kontrollerbart sätt ;)

OlleBoopMedlem sedan feb. 20001 861 inlägg
#3

Ska det inte vara selected='selected' ?
Fast du måste ändå ändra ett av "nochoice" till något annat för att det skall funka, precis som jarvklo säger.

jarvkloMedlem sedan juli 20013 378 inlägg
#4

Hmm...
Det beror på... I HTML räcker det med SELECTED precis som jake skriver... (men man kan även använda SELECTED="SELECTED" om man vill (källa t.ex.: http://www.w3.org/TR/html4/appendix/notes.html#sgmlfeatures ) )

I xhtml däremot krävs alltid värden för samtliga attribut, och alltså måste man skriva selected="selected" om man använder sig av xhtml

OlleBoopMedlem sedan feb. 20001 861 inlägg
#5

Ok!
Jag tänker ju xhtml per automatik numera, delvis ditt fel! :e

jarvkloMedlem sedan juli 20013 378 inlägg
#6

hihi :birp

jakeMedlem sedan sep. 2001649 inlägg
#7

OlleBoop skrev:

Ska det inte vara selected='selected' ?
Fast du måste ändå ändra ett av "nochoice" till något annat för att det skall funka, precis som jarvklo säger.

ok,
kan den raden som inte ska vara selected och inte heller vara en länk bara heta nochoice1 då eller?

när jag validerade sidan enligt w3 så blev det följande fel
att <form> måste ha attributet action...

Det är ju klart när man har tex ett formulär som ska skickas, men när jag bara har en dropdownmeny på min sida, vad ska det då vara för action?

jarvkloMedlem sedan juli 20013 378 inlägg
#8

kan den raden som inte ska vara selected och inte heller vara en länk bara heta nochoice1 då eller?

Jupp - det borde funka!

Det är ju klart när man har tex ett formulär som ska skickas, men när jag bara har en dropdownmeny på min sida, vad ska det då vara för action?

Det spelar nog ingen roll så länge du inte har en submit-knapp... Men du kan ju alltid ange sidans namn

... action="./minsidasnamn.html" ...

där "bara för att det skall vara med något vettigt"

jakeMedlem sedan sep. 2001649 inlägg
#9

Det är ju klart när man har tex ett formulär som ska skickas, men när jag bara har en dropdownmeny på min sida, vad ska det då vara för action?

Det spelar nog ingen roll så länge du inte har en submit-knapp... Men du kan ju alltid ange sidans namn

... action="./minsidasnamn.html" ...

där "bara för att det skall vara med något vettigt"

tack för snabbt svar!

kan man skriva tex <form action="self"> istället för
<form action="minsida.html"> för tex en dropdown meny?

jarvkloMedlem sedan juli 20013 378 inlägg
#10

Njae - omman skall vara riktigt noga så är det bara OK om "self" är en fungerande adress på webben - t.ex. en underkatalog som ligger i samma katalog som din sida (det du anger som action är alltså en webbadress och den har inget med scripting att göra ;) )

Fast i just ditt fall (där action bara är med för att koden skall validera och aldrig används av webbläsaren pga att du kör med scripts istället) spelar det nog i praktiken ingen större teater ;)

MickeA.comMedlem sedan feb. 20034 441 inlägg
#11

Tjena
Jag har lite problem med selected="selected" och vet ej vad det beror på.
Med följande kodsnutt skriver jag ut en select:

For i = 5 To 30 Step 5
	If Int(i) = 15 Then s = " selected=""selected""" Else s = "" End If
	Response.Write("<option value=""" & i & """" & s & ">" & i & " dagar</option>" & VbCrLf)
Next

Resultatet blir helt rätt:

<select name="fakt_forfallo" class="frmAnm">
<option value="5">5 dagar</option>
<option value="10">10 dagar</option>
<option value="15" selected="selected">15 dagar</option>
<option value="20">20 dagar</option>
<option value="25">25 dagar</option>
<option value="30">30 dagar</option>
</select>

Problemet är att det alltid är "5 dagar" som är valt, alltså det val som ligger högst upp i listan.
Nu har jag bara provat det här i Firefox, men förstår ingenting, har aldrig haft problem med detta tidigare.

Tack på förhand!

learnMedlem sedan jan. 20051 130 inlägg
#12

MickeA.com skrev:

Tjena
Jag har lite problem med selected="selected" och vet ej vad det beror på.
Med följande kodsnutt skriver jag ut en select:

For i = 5 To 30 Step 5
	If Int(i) = 15 Then s = " selected=""selected""" Else s = "" End If
	Response.Write("<option value=""" & i & """" & s & ">" & i & " dagar</option>" & VbCrLf)
Next

Resultatet blir helt rätt:

<select name="fakt_forfallo" class="frmAnm">
<option value="5">5 dagar</option>
<option value="10">10 dagar</option>
<option value="15" selected="selected">15 dagar</option>
<option value="20">20 dagar</option>
<option value="25">25 dagar</option>
<option value="30">30 dagar</option>
</select>

Problemet är att det alltid är "5 dagar" som är valt, alltså det val som ligger högst upp i listan.
Nu har jag bara provat det här i Firefox, men förstår ingenting, har aldrig haft problem med detta tidigare.

Tack på förhand!

Jag har har samma problem...! :q

voigtann1Medlem sedan juni 20019 519 inlägg
#13

kör ni rätt doctype?

MickeA.comMedlem sedan feb. 20034 441 inlägg
#14

Hmm, ja, det var ju ett tag sen.
Kommer inte ihåg hur jag löste det, men testa att starta om Webbläsaren!?

Testa flera olika läsare och se om det är samma fel.

Kolla så att selected="selected" inte skrivs ut på fler än en rad osv.

135 ms totalt · 3 externa anrop · v20260731065814-full.beb2e261
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
133 ms — hämta tråd, inlägg och bilagor (db)