js代码执行顺序问题
这是一个关于js的基础问题
功能:用js将日期写到文本框中
代码1:
<script language="javascript">
window.onload=function(){
var cur = new Date();
var y = cur.getFullYear();
var m = cur.getMonth()+1;
var d = cur.getDate();
document.getElementById("safd").value=y+"-"+m+"-"+d;
}
</script>
<input id="safd" type="text" />
代码2
<script language="javascript">
var cur = new Date();
var y = cur.getFullYear();
var m = cur.getMonth()+1;
var d = cur.getDate();
document.getElementById("safd").value=y+"-"+m+"-"+d;
</script>
<input id="safd" type="text" />
第一段代码文本框成功显示日期,第二段代码则不显示。
调试发现Uncaught TypeError: Cannot set property 'value' of null
原因时候因为window.onload使整个页面加载完毕再执行,所以成功将日期显示到文本框。而代码2执行的时候文本框还没有建立,所有报错,将代码2改为如下即可。
<input id="safd" type="text" />
<script language="javascript">
var cur = new Date();
var y = cur.getFullYear();
var m = cur.getMonth()+1;
var d = cur.getDate();
document.getElementById("safd").value=y+"-"+m+"-"+d;
</script>

浙公网安备 33010602011771号