webForumDet fria alternativet

Födelsedag

JavaScript

3 svar · 248 visningar · startad av Asa

Medlem sedan dec. 20011 860 inlägg
Frågan#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>
261 ms totalt · 3 externa anrop · v20260731065814-full.767b4345
123 ms — deklarationer (db)
0 ms — hämta statistik (cache)
135 ms — hämta tråd, inlägg och bilagor (db)