3 селекта на куп

dakata__92

Super Moderator
Така искам проверка заа валидност на дата за изписване иии ми се ще да го направа нещо подобно но не работи :
[js]
function dateValid(day,mounth,year)
{
if(day="" || mounth="" || year="")
{
document.getElementById("Truedate").innerHTML = "<font size='1'><b>Въведете дата!</b></font>";
}
else if(day.match(/^[0-9]{1,2}/) && mounth.match(/^[0-9]{1,2}/) && year.match(/^[0-9]{4}/))
{
document.getElementById("Truedate").innerHTML = "<font color='green' size='1'><b>OK</b></font>";
}
else
{
document.getElementById("Truedate").innerHTML = "<font color='red' size='1'><b>NO</b></font>";
}
}[/js]
HTML:
<select name='bday' onkeyup='dateValid(this.value,,)'>
	<option value='0' selected='selected'> </option>
	<option value='1'>1</option>
	<option value='2'>2</option>
	<option value='3'>3</option>
	<option value='4'>4</option>
	<option value='5'>5</option>
	<option value='6'>6</option>
	<option value='7'>7</option>
	<option value='8'>8</option>
	<option value='9'>9</option>
	<option value='10'>10</option></select>
<select name='bmonth' onkeyup='dateValid(,this.value,)'>
	<option value='0' selected='selected'> </option>
	<option value='01'>Януари </option>
	<option value='02'>Февруари </option>
	<option value='03'>Март </option>
</select>
<select name='byear' onkeyup='dateValid(,,this.value)'>
	<option value='0' selected='selected'> </option>
	<option value='2002'>2002</option>
	<option value='2001'>2001</option>
	<option value='2000'>2000</option>
	<option value='1999'>1999</option>
	<option value='1998'>1998</option>
	<option value='1997'>1997</option>
	<option value='1996'>1996</option>
</select>


<div id='Truedate'><font size='1'><b>Въведете дата!</b></font></div>

Проблема идва от тези редове:
onkeyup='dateValid(,,this.value)'

А искам да се прави в 1 функция за да е по-збит кода, иначе с 3 отделни ще изписва по 3 отговора OK примерно :)
 
Код:
<script type="text/javascript">
$(function(){
	$(".bday, .bmonth, .byear").change(function(){
		var day = $(".bday option:selected").html(); //или тук пишеш вместо html(), което взима стойноста в option. Пишеш val() което взима стойноста, която е зададена в value='(нещп)'
		var mounth = $(".bmonth option:selected").html(); //или тук пишеш вместо html(), което взима стойноста в option. Пишеш val() което взима стойноста, която е зададена в value='(нещп)'
		var year = $(".byear option:selected").html(); //или тук пишеш вместо html(), което взима стойноста в option. Пишеш val() което взима стойноста, която е зададена в value='(нещп)'
		
		if(day="" || mounth="" || year="")
        {
                document.getElementById("Truedate").innerHTML = "<font size='1'><b>Въведете дата!</b></font>";
        }
        else if(day.match(/^[0-9]{1,2}/) && mounth.match(/^[0-9]{1,2}/) && year.match(/^[0-9]{4}/))
        {
                document.getElementById("Truedate").innerHTML = "<font color='green' size='1'><b>OK</b></font>";
        }
        else
        {
                document.getElementById("Truedate").innerHTML = "<font color='red' size='1'><b>NO</b></font>";
        }
	});
});
</script>

<select name='bday' class='bday'>
        <option value='0' selected='selected'> </option>
        <option value='1'>1</option>
        <option value='2'>2</option>
        <option value='3'>3</option>
        <option value='4'>4</option>
        <option value='5'>5</option>
        <option value='6'>6</option>
        <option value='7'>7</option>
        <option value='8'>8</option>
        <option value='9'>9</option>
        <option value='10'>10</option></select>
<select name='bmonth' class="bmonth">
        <option value='0' selected='selected'> </option>
        <option value='01'>Януари </option>
        <option value='02'>Февруари </option>
        <option value='03'>Март </option>
</select>
<select name='byear' class="byear">
        <option value='0' selected='selected'> </option>
        <option value='2002'>2002</option>
        <option value='2001'>2001</option>
        <option value='2000'>2000</option>
        <option value='1999'>1999</option>
        <option value='1998'>1998</option>
        <option value='1997'>1997</option>
        <option value='1996'>1996</option>
</select>
 
lucho каза:
сигурен ли си че select тага поддържа onKeyUp евент? Пробвай onFocus.
Пробвах но не се получи ! Няма ли начин да се получи с обикновен JavaScript ?

Eдит // Оправих се сам с onChange eвент :)
 

Back
Горе