S solbulle Medlem sedan mars 2001 5 287 inlägg Frågan 5 mars 2003 22:29 #1 Denna gång har jag tre likadana selectlistor, bara namnen skiljer.
Skulle då gärna vilja få till så att man inte kan välja samma val i dom.
Exempel på select.
Namnen är typ: PrisValuta, PrisValuta2, PrisValuta3
Ideer? Länkar?
<select name="PrisValuta">
<option value=7>AUD</option>
<option value=3>CAD</option>
<option value=9>DEK</option>
<option value=8>DEM</option>
<option value=4>EUR</option>
<option value=10>FRF</option>
<option value=5>GBP</option>
<option value=11>HKD</option>
<option selected value=1>SEK</option>
<option value=2>USD</option>
</select>
C colione Medlem sedan juni 2001 4 421 inlägg Idé så här sent på kvällen. (Inge kod, för trött för det) :)
Skapa en array där du (dynamiskt eller statiskt) plockar in namnen. Sedan så kör du en validering på onchange, där du då loopar igenom arrayen så att du får rätt namn på fälten och kollar av om dem stämmer överens. Bör inte vara alltför svårt.
Klurade på den och fick lite hjälp på vägen på irc.
Varsågod: :)
<HTML>
<HEAD>
<TITLE> Submit validation </TITLE>
<script>
function validateForm(yourForm)
{
with (yourForm)
if (PrisValuta.selectedIndex!=PrisValuta2.selectedIndex && PrisValuta2.selectedIndex!=PrisValuta3.selectedIndex && PrisValuta.selectedIndex!=PrisValuta3.selectedIndex)
submit()
else{
alert('Du har flera lika'); PrisValuta.focus()
}
}
</script>
</HEAD>
<BODY>
<FORM METHOD="POST" ACTION="page2.html" onSubmit="return false">
<select name="PrisValuta">
<option value=7>AUD</option>
<option value=3>CAD</option>
<option value=9>DEK</option>
<option value=8>DEM</option>
<option value=4>EUR</option>
<option value=10>FRF</option>
<option value=5>GBP</option>
<option value=11>HKD</option>
<option selected value=1>SEK</option>
<option value=2>USD</option>
</select>
<p>
<select name="PrisValuta2">
<option value=7>AUD</option>
<option value=3>CAD</option>
<option value=9>DEK</option>
<option value=8>DEM</option>
<option value=4>EUR</option>
<option value=10>FRF</option>
<option value=5>GBP</option>
<option value=11>HKD</option>
<option selected value=1>SEK</option>
<option value=2>USD</option>
</select>
<p>
<select name="PrisValuta3">
<option value=7>AUD</option>
<option value=3>CAD</option>
<option value=9>DEK</option>
<option value=8>DEM</option>
<option value=4>EUR</option>
<option value=10>FRF</option>
<option value=5>GBP</option>
<option value=11>HKD</option>
<option selected value=1>SEK</option>
<option value=2>USD</option>
</select>
<p>
<INPUT TYPE="button" value="Press here" onClick="validateForm(this.form)">
</FORM>
</BODY>
</HTML>
Kan testköras här: http://www.studentbok.com/test.html
S solbulle Medlem sedan mars 2001 5 287 inlägg Bugar och bockar allra ödmjukast. Fungerar ju ypperligt. :)
Bara roligt att jag kunde hjälpa dig för en gångs skull, brukar ju vara tvärtom annars. :)
S solbulle Medlem sedan mars 2001 5 287 inlägg Man ska alltid sträva framåt så jag eftersöker en modifikation till ovanstående script.
Försöker lite själv, men än så länge utan framgång.
Skulle vara bra om det skulle vara tillåtet att om man lägger till ett val:
<option value=0>-Tomt-</option>
Detta skulle då vara tillåtet att flera av listorna får ha.
Man får ju ge sig på att skriva in det i kollen... :r
P Peter S Medlem sedan dec. 2002 5 483 inlägg with (yourForm)
if (PrisValuta.selectedIndex!=PrisValuta2.selectedIndex && PrisValuta2.selectedIndex!=PrisValuta3.selectedIndex && PrisValuta.selectedIndex!=PrisValuta3.selectedIndex [b]|| PrisValuta.selectedIndex == 0[/b])
submit()
else{
alert('Du har flera lika'); PrisValuta.focus()
}
}
:)