webForumDet fria alternativet

Födelsedag

3 svar · 248 visningar · startad av Asa

AsaMedlem sedan dec. 20011 934 inlägg
#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.

JohnsenMedlem sedan juli 2000718 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>
AsaMedlem sedan dec. 20011 934 inlägg
#3

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

Jesper TMedlem sedan nov. 20017 058 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>
Genererad på 383 ms · cache AV · v20260730165559-full.f96bc7eb