<script language="javascript">
function getDay(){
var value = document.getElementById("month").value; if(value==1){
alert("你选择的月份是:"+ value);
document.form1.day1.style.display="";
document.form1.day2.style.display="none";
document.form1.day3.style.display="none";
} if(value=="2"){
document.form1.day1.style.display="none";
document.form1.day2.style.display="none";
document.form1.day3.style.display="";
}
}
</script><html>
<head>
</head>
<body><center><form  name="form1" ><select id="month" size="1" name="month" onchange="javascript:getDay()" /><option value="0" >选择月份</option>
<?PHP
for($i=1;$i<13;$i++)
{
?>
<option value="<?=$i?>" ><?PHP echo $i ?></option>
<?PHP
}
?>
</select> 月<select id='day1' size="1" name="day" style="display:" />
<option value="0">选择日期</option>
<?PHP
for($i=1;$i<32;$i++)
{
?>
<option value="<?=$i?>" ><?PHP echo $i ?></option>
<?PHP
}
?>
</select><select id='day2' size="1" name="day" style="display:none" />
<option value="0">选择日期</option>
<?PHP
for($i=1;$i<31;$i++)
{
?>
<option value="<?=$i?>" ><?PHP echo $i ?></option>
<?PHP
}
?>
</select><select id='day3' size="1" name="day" style="display:none" />
<option value="0">选择日期</option>
<?PHP
for($i=1;$i<30;$i++)
{
?>
<option value="<?=$i?>" ><?PHP echo $i ?></option>
<?PHP
}
?>
</select>日</form>为什么我触发不了onchange 这个事件呢

解决方案 »

  1.   

    alert("你选择的月份是:"+ value); //分号错误<option value="<?=$i?>" ><?PHP echo $i ?></option>
    --》
    <option value="<?php echo $i;?>" ><?PHP echo $i ?></option>
      

  2.   

    使用 getDay() 来显示星期,而不仅仅是数字。
    已存在的函数
      

  3.   

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>无标题文档</title>
    </head><body><center><form name="form1" ><select id="month" size="1" name="month" onchange="getDays()" /><option value="0" >选择月份</option>
    <?PHP
    for($i=1;$i<13;$i++)
    {
    ?>
    <option value="<?=$i?>" ><?PHP echo $i ?></option>
    <?PHP
    }
    ?>
    </select> 月<select id='day1' size="1" name="day" style="display:" />
    <option value="0">选择日期</option>
    <?PHP
    for($i=1;$i<32;$i++)
    {
    ?>
    <option value="<?=$i?>" ><?PHP echo $i ?></option>
    <?PHP
    }
    ?>
    </select><select id='day2' size="1" name="day" style="display:none" />
    <option value="0">选择日期</option>
    <?PHP
    for($i=1;$i<31;$i++)
    {
    ?>
    <option value="<?=$i?>" ><?PHP echo $i ?></option>
    <?PHP
    }
    ?>
    </select><select id='day3' size="1" name="day" style="display:none" />
    <option value="0">选择日期</option>
    <?PHP
    for($i=1;$i<30;$i++)
    {
    ?>
    <option value="<?=$i?>" ><?PHP echo $i ?></option>
    <?PHP
    }
    ?>
    </select>日</form>
    <script type='text/javascript'>
    function getDays(){
    var value = document.getElementById("month").value; alert(value);if(value==1){
    alert("你选择的月份是:"+ value);
    document.form1.day1.style.display="";
    document.form1.day2.style.display="none";
    document.form1.day3.style.display="none";
    }if(value=="2"){
    document.form1.day1.style.display="none";
    document.form1.day2.style.display="none";
    document.form1.day3.style.display="";
    }
    }
    </script></body>
    </html>
    输出 <?=$i?>
    你的php写错了