Ingen som vet hur man gör
Hur gör man för att man måste ha valt ett alternativ i en dropdown meny innan man kan fylla i t.ex. ett text fält?
Alltså om man inte valt något i dropdown menyn så ska ett varnings mess komma upp.
12 svar · 350 visningar · startad av Bosse168
Hur gör man för att man måste ha valt ett alternativ i en dropdown meny innan man kan fylla i t.ex. ett text fält?
Alltså om man inte valt något i dropdown menyn så ska ett varnings mess komma upp.
Ingen som vet hur man gör
<form>
<select name="s">
<option>---</option>
<option>Alt. 1</option>
</select>
<input type="text" onkeyup="if(this.form.elements['s'].selectedIndex==0){this.value='';alert('Fy!');}">
</form>
hahaha jag var lite snabbare
Jag får det här fel messet av den koden i Dreamweaver:
Felaktig kod
<input
Felaktig kodat eftersom den innehåller ett duplicerat attribut.
Ta bort det duplicerade attributet med kodkontrollen.
Jag glömde ett citationstecken i slutet av inputelementet:
<form>
<select name="s">
<option>---</option>
<option>Alt. 1</option>
</select>
<input type="text" onkeyup="if(this.form.elements['s'].selectedIndex==0){this.value='';alert('Fy!');}">
</form>
Funkar inte ändå.
Inget fel mess men det kommer inte upp någon alert box när man klickar på text fältet.
Skriptet aktiveras inte förrän det skrivs i fältet.
Här är en annan version om du vill att textfältet skall vara inaktiverat till dess att ett värde valts:
<form>
<select name="s" onchange="this.form.elements['i'].disabled = !this.selectedIndex > 0">
<option>---</option>
<option>Bar</option>
</select>
<input type="text" name="i" disabled="disabled">
</form>
Det bör se ut så här istället, PeterS, eftersom ! går före > ( http://devedge.netscape.com/library/manuals/2000/javascript/1.4/guide/expr.html#1008750 ):
onchange="this.form.elements['i'].disabled = !(this.selectedIndex > 0)"
Eller så gör man det lite enklare:
onchange="this.form.elements['i'].disabled = !this.selectedIndex"
Det bör se ut så här istället
Nja, varför det? Dock kan jag hålla med om att ditt andra exempel är tjusigare.
Sorry, det var jag som antog att du hade tänkt "!(this.selectedIndex > 0)" men glömt parenteserna.
När jag tänker efter blir ju svaret alltid samma, eftersom this.selectedIndex inte kan vara mindre än 0, även om operationerna (negering och jämförelse) utförs i omvänd ordning.
Skulle man kunna få ihop det scriptet med detta:
<select name="catID" onchange="location.href=this.options[this.selectedIndex].value">
Eran kod
onchange="this.form.elements['i'].disabled = !this.selectedIndex > 0"
HEJ!
Man kan sätta flera funktionsanrop efter varandra med ; emellan.
<select name="catID" onchange="location.href=this.options[this.selectedIndex].value"; onchange="this.form.elements['i'].disabled = !this.selectedIndex > 0">
Om du kan sätta ihop allt till en gemensam funktion vågar jag inte svara på, eftersom jag inte har hela funktionen klar för mig.
Vill du fylla i txt-rutan, men samtidigt skicka mig till en annan sida???