首页 新闻 会员 周边 捐助

日期函数 显示 问题

0
悬赏园豆:10 [待解决问题]

浏览器中运行“月份”显示出现了问题,有谁知道什么原因呢?

下面是html和js代码。

《html》代码:

<!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>
<style>
.info_block {
margin-left:10px;
width:80%;
line-height:1.5em;
color:#454545;
font-size:12px;
}
.info_block .tr_title {
text-align:right;
width:90px;
}
.info_block .tr_content {
padding-left:8px;
width:300px;
}
.info_block td {
border-bottom:1px dotted #CCCCCC;
line-height:3.2em;
}

table {
border-collapse: collapse;
border-spacing: 0;
}
option {
font-family: inherit;
font-size: inherit;
font-style: inherit;
font-weight: inherit;
}
</style>
</head>
<script src="a.js"></script>
<body>
<form id="aspnetForm" action="" method="post" name="aspnetForm">
<table class="info_block" cellspacing="0" cellpadding="0">
<tr>
<td class="tr_title">
出生日期:
</td>
<td class="tr_content">
<select onchange="show()" id="year" name="selectyear">
<option value=""></option>
<option value="2013">2013</option>
<option value="2012">2012</option>
<option value="2011">2011</option>
<option value="2010">2010</option>
<option value="2009">2009</option>
<option value="2008">2008</option><option value="2007">2007</option><option value="2006">2006</option><option value="2005">2005</option><option value="2004">2004</option><option value="2003">2003</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><option value="1995">1995</option><option value="1994">1994</option><option value="1993">1993</option><option value="1992">1992</option><option value="1991">1991</option><option value="1990">1990</option><option value="1989">1989</option><option value="1988">1988</option><option value="1987">1987</option><option value="1986">1986</option><option value="1985">1985</option><option value="1984">1984</option><option value="1983">1983</option><option value="1982">1982</option><option value="1981">1981</option><option value="1980">1980</option><option value="1979">1979</option><option value="1978">1978</option><option value="1977">1977</option><option value="1976">1976</option><option value="1975">1975</option><option value="1974">1974</option><option value="1973">1973</option><option value="1972">1972</option><option value="1971">1971</option><option value="1970">1970</option><option value="1969">1969</option><option value="1968">1968</option><option value="1967">1967</option><option value="1966">1966</option><option value="1965">1965</option><option value="1964">1964</option><option value="1963">1963</option><option value="1962">1962</option><option value="1961">1961</option><option value="1960">1960</option><option value="1959">1959</option><option value="1958">1958</option><option value="1957">1957</option><option value="1956">1956</option><option value="1955">1955</option><option value="1954">1954</option><option value="1953">1953</option></select> 年

<select onchange="show()" id="month" name="selectmonth">
<option value=""></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><option value="11">11</option><option value="12">12</option></select> 月

<select id="day" name="selectday">
<option value=""></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><option value="11">11</option><option value="12">12</option><option value="13">13</option><option value="14">14</option><option value="15">15</option><option value="16">16</option><option value="17">17</option><option value="18">18</option><option value="19">19</option><option value="20">20</option><option value="21">21</option><option value="22">22</option><option value="23">23</option><option value="24">24</option><option value="25">25</option><option value="26">26</option><option value="27">27</option><option value="28">28</option><option value="29">29</option><option value="30">30</option><option value="31">31</option></select> 日
<script type="text/javascript" language="javascript">
loadshow();
</script>
</td>
</tr>
</table></form>
</body>
</html>

 

《js》代码:

// JavaScript Document

function loadshow() {
var years = new Date().getFullYear();
var op;

document.aspnetForm.selectyear.options.add(new Option("", ""));
document.aspnetForm.selectmonth.options.add(new Option("", ""));
document.aspnetForm.selectday.options.add(new Option("", ""));

for (var i = years; i >= years - 60; i--) {
op = new Option(i, i);
document.aspnetForm.selectyear.options.add(op)
}

for (var i = 1; i <= 12; i++) {
document.aspnetForm.selectmonth.options.add(new Option(i, i));
}

for (var i = 1; i <= 31; i++) {
document.aspnetForm.selectday.options.add(new Option(i, i));
}
document.aspnetForm.selectyear.value = '';
}

function comm(day) {
for (var i = 1; i <= day; i++) {
document.aspnetForm.selectday.options.add(new Option(i, i));
}
}

function show() {
var year = document.aspnetForm.selectyear.value;
var month = document.aspnetForm.selectmonth.value;
document.aspnetForm.selectday.options.length = 0;
if (month == 1 || month == 3 || month == 5 || month == 7 || month == 8 || month == 10 || month == 12) {
comm(31);
}
if (month == 4 || month == 6 || month == 9 || month == 11) {
comm(30);
}
if (month == 2) {
if ((year % 4 == 0) && (year % 100 != 0) || (year % 400 == 0)) {
comm(29);
} else {
comm(28);
}
}
}

印儿的主页 印儿 | 初学一级 | 园豆:70
提问于:2013-08-18 21:50
< >
分享
所有回答(4)
0

破wifi的关键是破人,最好是异性相破成功率高些~~

路过秋天 | 园豆:4787 (老鸟四级) | 2013-08-18 22:39
0

话说,你又不说啥问题,代码又没排版,直接让我们看这么一堆代码?

幻天芒 | 园豆:37207 (高人七级) | 2013-08-18 23:38

是一坨代码,不敢直视。

支持(0) 反对(0) 度一 | 园豆:226 (菜鸟二级) | 2014-01-26 16:05

@度一工作室: 不忍直视~

支持(0) 反对(0) 幻天芒 | 园豆:37207 (高人七级) | 2014-01-26 22:44
0

你这个不光是月份出了问题,其实是年月日都有问题的。都是多了一组数据出来,是吧。

你在页面加载的时候调用loadshow()函数。你用的是add,就是在原有的基础上增加选项而你的html中已经写死那些选项。这样当然会有错。你把html代码改成如下:

<!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>

<title>无标题文档</title>
<style>
.info_block {
margin-left:10px;
width:80%;
line-height:1.5em;
color:#454545;
font-size:12px;
}
.info_block .tr_title {
text-align:right;
width:90px;
}
.info_block .tr_content {
padding-left:8px;
width:300px;
}
.info_block td {
border-bottom:1px dotted #CCCCCC;
line-height:3.2em;
}

table {
border-collapse: collapse;
border-spacing: 0;
}
option {
font-family: inherit;
font-size: inherit;
font-style: inherit;
font-weight: inherit;
}
</style>
</head>
<script src="a.js"></script>
<body>
<form id="aspnetForm" action="" method="post" name="aspnetForm">
<table class="info_block" cellspacing="0" cellpadding="0">
<tr>
<td class="tr_title">
出生日期:
</td>
<td class="tr_content">
<select onchange="show()" id="year" name="selectyear"></select> 年

<select onchange="show()" id="month" name="selectmonth"></select> 月

<select id="day" name="selectday"></select> 日
<script type="text/javascript" language="javascript">
loadshow();
</script>
</td>
</tr>
</table></form>
</body>
</html>

/////////////////////////其实就是你原先写在html中的option删除即可。

fatyan2013在路上 | 园豆:194 (初学一级) | 2013-08-19 00:40
0

推荐个自己写的年月日联动的插件

http://www.cnblogs.com/qd4world/p/selectdata.html

small-joker | 园豆:144 (初学一级) | 2013-08-22 12:02
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册