我有一个PHP表单,在该表单中,我使用java脚本从日历中获取出生日期值,然后我编写了一个onchange java脚本,根据文本框的值计算年龄,并将其显示在另一个文本框中。。但是onchange函数不起作用。。。
这是我从某个网站下载的外部javascript中从日历中获取出生日期的文本框代码。。这很管用。。它在文本框中显示从日历中选择的日期。。
<input id="birthdate" name="birthdate" type="text" size="12" maxlength="10" readonly="readonly" onChange="UpdateAge();" />
<script language="JavaScript">
new tcal ({
// form name
'formname': 'reg',
// input name
'controlname': 'birthdate'
});
这是计算年龄的函数。。
<script type="text/javascript">
function UpdateAge(){
var bdate = document.getElementById('birthdate').value;
var cdate = date('d-m-Y');
var info = (strtotime($cdate)-strtotime($bdate))/(24*60*60*365);
alert("hi");
document.getElementById('age').value = info;
}
</script>
但第二个文本框中没有任何更改。。这是第二个文本框的代码。。
<input name="age" type="text" id="age" size="5" maxlength="2" />
请帮我解决问题。。提前谢谢。。
(strtotime($cdate)-strtotime($bdate))
这不是Javascript代码。您必须找到一个可以执行与PHP的strtotime
相同处理的库
函数UpdateAge()
已获得PHP代码
(strtotime($cdate)-strtotime($bdate))/(24*60*60*365);
这是无效的JS,所以我不会在客户端上工作。PHP在服务器上运行,JS在客户端上运行。
strtotime在strtotime不是javascript函数之前就已经说过了。这是一个PHP函数。看看Date对象及其解析方法:http://www.w3schools.com/jsref/jsref_parse.asp