为什么SCRIPT放在BODY前就会产生错误?

来源:百度知道 编辑:UC知道 时间:2024/06/03 18:35:57
<html><body onload="document.form1.word.focus()"><div

id="div2">1</div><div id="div"><form name="form1"

onsubmit="change()"><input type="text" name="word"

onblur="this.focus()"></form></div></body></html><script

language="VBScript">sub

change():key=document.form1.word.value:div.innerHTML=key:div

2.innerHTML=key:end sub</script>
如果把SCRIPT放在BODY前就回出错
你可能没理解我的问题。我把这个VBS放在最后是可以执行的,不会出错;但是如果把这个VBS放在最前面就会出错。并不是调用什么语言的问题啊。你可以把这个拷到自己的电脑上试试。

<input type="text" name="word" onblur="this.focus()">
里的this.focus()是javascript的。浏览器默认脚本是javascript,所以你不用注明也可以执行。
当<script language="VBScript">那段本来也没有什么影响,只是onsubmit="change()"解析后,使用的是VBScript,影响到了this.focus()的解析,以VBScript解析它了,this不合语法。

<html>
<script language="VBScript">
sub change():key=document.form1.word.value:div.innerHTML=key:div2.innerHTML=key:end sub
</script>
<body onload="document.form1.word.focus()">
<div id="div2">1</div>
<div id="div">
<form name="form1" onsubmit="change()">
<input type="text" name="word" onblur="javascript:this.focus()">
</form>
</div>
</body>
</html>

你这个change()函数用了javascript的语言,你的language却是vbscript,当然会出错,javascript是用";"结尾的
<