var firsty = document.getElementById("txtYear").value;
这句代码没有放在函数里的话,就是打开页面立即执行,此时txtYear可能都还没被浏览器加载,所以出错。
建议,放在body的onload里面执行
这句代码没有放在函数里的话,就是打开页面立即执行,此时txtYear可能都还没被浏览器加载,所以出错。
建议,放在body的onload里面执行
解决方案 »
- js如何修改style内部的内容?
- 请各位朋友帮忙看下这个啊 怎样用select控制文本框的即时更新???
- 一个select中window.open的问题
- 请教在左框架点击"加"怎么改变右框架图片的大小
- 链接变色问题
- <param name=credits value="Applet by Fabio Ciucci (www.anfiteatro.it/java.html)">是什么意思呀?
- 如何自动生成邮件?
- 如何才能在自己网页嵌入其它网站的即时信息,如天气预报
- 后悔當初沒備份﹐留下今天難題
- 为什么用json.stringify转换之后参数前面会加个0
- asp/ajax/gb2312/©®乱码问题
- javascript取值问题
在定义全局变量的时候要特别谨慎,因为js全局变量里
var firsty = document.getElementById("txtYear").value;//最开始的加载页面时年和月
var firstm = document.getElementById("txtMonth").value;
var secondy = document.getElementById("txtYear").value;//当onchange触发后的值
var secondm = document.getElementById("txtMonth").value;
从来都没有被js函数所调用过,所以就没有办法给全局变量赋值,所以,你必须要给全局变量赋值,于是在页面的onload中调用一个函数给他赋值就可以了。
把我的正确答案也发上来,供大家分享下,虽然大多数都会,呵呵。分不多,自己解决的,回帖者都有分吧var firsty;
var firstm;
var secondy;
var secondm;
var panduan=0;//判断改变了没有
function onloadload()
{
firsty = document.getElementById("txtYear").value;//最开始的加载页面时年和月
firstm = document.getElementById("txtMonth").value;
secondy = document.getElementById("txtYear").value;//当onchange触发后的值
secondm = document.getElementById("txtMonth").value;
}
function changeym()//onchange事件触发
{
secondy = document.getElementById("txtYear").value;
secondm = document.getElementById("txtMonth").value;
if(parseInt(secondy,10) != parseInt(firsty,10) || parseInt(secondm,10) != parseInt(firstm,10))//之所以转化是考虑到了月份3和03的区别
{
panduan=1;//有变化
}
else
{
firsty=secondy;//进行赋值,为的是变化后在进行变化
firstm=secondm;
}
}
function onluris()
{
if(panduan == 1)
{
alert('重新检索数据!');
document.getElementById("btnCurPayLoad").click();
}
}在页面的onload函数里调用onloadload()函数即可
好似有时候页面出错的话. onload 不会被执行,
函数执行没?