一个关于javascript的小问题

来源:百度知道 编辑:UC知道 时间:2024/05/20 22:10:33
<html>
<script language=javascript>
function ButtonClick()
{
var v=document.f1.t1.value;
if(v=="teacher")
{
alert("你是老师");
d1.innerHTML="你很帅";
}
else if(v=="student")
{
alert("你是学生");
d1.innerHTML="该上课了";
}
else
{
alert("你是黑客");
d1.innerHTML="不要黑我";
}
}
</script>
<body>
<center>
<form name=f1>
请输入姓名:<input type=text id=t1>
<input type=button value=确定 onclick="ButtonClick()">
</form>
</center>
<div id=d1></div>
</body>
</html>
问题是:为什么将<form name=f1>改成<form id=f1>就会出错?

document.f1
这种方法是通过name来获取对象

document.getElementById("f1")
这种方法是通过id来获取对象

你是用了第一种方法来获取对象,所以你必须要有name的属性。

现在W3C的标准推荐使用第二种方法,即通过id来获取对象。但表单传给服务器的数据名称必须使用name。为了兼容性更好来考虑,就把name和id都设上最好。