您好我有一个ajax脚本,用于验证放入文本框的用户信息。这在Internet Explorer中工作正常,但在FireFox中,从列表框中获取性别时出错。我已将性别放入隐藏文本框中,以便于处理。我在FF中得到的错误是
dd为空 [打破此错误] theindex = dd.options [dd.selectedIndex] .value;
我在javascript中的功能如下,这是在正文加载时加载的,或者一旦选择了性别,
function get_gender()
{
{
var dd = document.getElementById("gender_select");
theindex = dd.options[dd.selectedIndex].value;
thevalue = dd.options[dd.selectedIndex].text;
}
document.getElementById("gender_text").value = thevalue;
}
我遇到的另一个问题是隐藏div框,这在其他所有浏览器中都可以正常工作,但不适用于IE。它应该只在给出错误时显示div框,但在IE中,div框始终显示。
我正在使用此行来执行此操作: document.getElementById(“username_div”)。style.visibility =“hidden”;
不是粘贴我的所有代码,而是可以在
查看实时页面http://elliottstocks.com/assignment/sign_up/ 忽略登录框,这很好。
任何评论/帮助将不胜感激。非常感谢=)
答案 0 :(得分:3)
getElementByID要求HTML元素具有ID,只是名称不够好。
<select name="gender_select" id="gender_select" onChange="get_gender()">
<option>Male</option> <option>Female</option>
</select>
答案 1 :(得分:2)
对于空错误更改:
<select onchange="get_gender()" name="gender_select">
到
<select onchange="get_gender()" name="gender_select" id="gender_select">
document.getElementById
正在寻找DOM中具有给定id
属性的元素。它在IE中工作的原因是因为它允许通过name
属性进行选择。
答案 2 :(得分:0)
对于您的第二个问题,您可能想尝试display ='none';为你的元素。请注意,此行为与visibility = hidden。
不同