Födelsedag

JavaScript

3 svar · 254 visningar · startad av Asa

Medlem sedan dec. 20011 860 inlägg
Trådstart#1

Jag har 3 listrutor (select) där jag visar År, Månad och Dag. VIll nu ha en koll så man inte kan välja ex 30 februari för det finns ju ej. Väljer man fel så sätts ex dagen till 1 igen. Hoppas någon frstår hur jag menar och kan hjälpa mig.

Medlem sedan juli 2000836 inlägg
#2

Prova detta:

<script>
function kolla(){
	var ar       = document.forms[0].elements[0].options[document.forms[0].elements[0].selectedIndex].value;
	var manad    = document.forms[0].elements[1].options[document.forms[0].elements[1].selectedIndex].value;
	var dag      = document.forms[0].elements[2].options[document.forms[0].elements[2].selectedIndex].value;

	if(new Date(ar,manad-1,dag).getDate() != dag){
		document.forms[0].elements[2].options[0].selected=true;
	}
}
</script>

<form>
	<select>
		<option value=2000>2000</option>
		<option value=2001>2001</option>
		<option value=2002>2002</option>
		<option value=2003>2003</option>
	</select>

	<select>
		<option value=01>01</option>
		<option value=02>02</option>
		<option value=03>03</option>
	</select>

	<select onchange="kolla();">
		<option value=01>01</option>
		<option value=28>28</option>
		<option value=29>29</option>
		<option value=30>30</option>
		<option value=31>31</option>
	</select>
</form>
Medlem sedan dec. 20011 860 inlägg
#3

Men hur gör man om man har namn på de olika selectlistorna? Hur skriver man om javascriptkoden då?

Medlem sedan nov. 20017 144 inlägg
#4

Menar du så här?

<script>
function kolla(){
	var ar       = document.myform.ar.options[document.myform.ar.selectedIndex].value;
	var manad    = document.myform.manad.options[document.myform.manad.selectedIndex].value;
	var dag      = document.myform.dag.options[document.myform.dag.selectedIndex].value;

	if(new Date(ar,manad-1,dag).getDate() != dag){
		document.myform.dag.options[0].selected=true;
	}
}
</script>

<form name="myform">
	<select name="ar">
		<option value=2000>2000</option>
		<option value=2001>2001</option>
		<option value=2002>2002</option>
		<option value=2003>2003</option>
	</select>

	<select name="manad">
		<option value=01>01</option>
		<option value=02>02</option>
		<option value=03>03</option>
	</select>

	<select name="dag" onchange="kolla();">
		<option value=01>01</option>
		<option value=28>28</option>
		<option value=29>29</option>
		<option value=30>30</option>
		<option value=31>31</option>
	</select>
</form>
263 ms totalt · 4 externa anrop · v20260731065814-full.d34c6d5a
120 ms — deklarationer (db)
0 ms — hämta statistik (cache)
136 ms — hämta tråd, inlägg och bilagor (db)
124 ms — ändringar (db)