IE / Firefox中的Ajax问题

时间:2009-05-21 15:05:13

标签: javascript ajax

您好我有一个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/ 忽略登录框,这很好。

任何评论/帮助将不胜感激。非常感谢=)

3 个答案:

答案 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。

不同