[英]This script display none does not work on chrome
我有一个页面,用户必须在其中检查单选按钮-如果他是新用户,则将其重定向到另一个页面。
如果他是现有用户,并且选中了此按钮,则会显示2个框: username
和password
由于某种原因,此脚本不适用于chrome。
谢谢您的帮助
<script>
function dispLoing(val)
{
var obj = document.getElementById ?
document.getElementById("loginForm").style :
document.all ?
document.all.loginForm :
document.loginForm;
if (val == "new")
{
document.all.login(0).checked = true;
obj.display = "none";
}
if (val == "existing")
{
document.all.login(1).checked = true;
obj.display = "";
}
}
</script>
<td>
<span id = "loginForm" style = "position: relative; top: 0px; left: 0px;
z-index:80; display:none;">
<table border=0>
<tr>
<td>
<font style = "font-size: 14px">Username:</font>
</td>
<td>
<input type = "text" name = "username"
style = "width: 100px; height:17px; font-size: 12px;">
</td>
</tr>
<tr>
<td>
<font style = "font-size: 14px">Password:</font>
</td>
<td>
<input type = "password" name = "pass"
style = "width: 100px; height: 17px; font-size: 12px;">
</td>
</tr>
</table>
</span>
document.all
是Microsoft专有的垃圾邮件,仅在需要支持IE 4时才有用。如今,可以安全地假设支持document.getElementById
。
分配obj
,您将在尝试使用它之前进行测试以查看它是否存在。
在您的两个if
语句中,您盲目使用它。 这将导致脚本在到达obj.display
行之前死亡。
function dispLoing(val) {
var frm = document.getElementById("loginForm");
var radios = frm.elements.login;
if (val === "new") {
radios[0].checked = true;
frm.style.display = "none";
} else if (val === "existing") {
radios[1].checked = true;
frm.style.display = "";
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.