从IE中的输入“开启”

时间:2010-12-02 11:40:04

标签: jquery html internet-explorer-8

这是我的应用程序在每个浏览器中工作但IE(8)的问题。 它是一个简单的表单,填充了来自ajax请求的数据。在底部有一个按钮,可以将数据发送到服务器并获取生成的查询。

问题是,在用户按下查询按钮的IE浏览器中,浏览器会将所有复选框或单选按钮值作为字符串“打开”发送,尽管值属性明显不同于“打开”。

为什么会这样?

我正在使用java和spring mvc(版本3)。

我没有附加任何代码,因为我甚至不确定哪部分代码可能有用。该应用程序也是中等大小,因此,我将按需发布代码片段。

[编辑] 使用开发人员工具,我能够发现正确传递的值,但在设置输入后,其值变为“on”。我用javascript生成的输入检查了。对于那些被加载的,我不知道为什么这样设置。

这是DOM生成的一小部分:

 var cell = $("<td/>").append(
        $("<input/>")
        .attr("id", lista[i].codigo+"RadioVariavel")
        .attr("name", "consulta.variavel")
        .attr("value", lista[i].codigo)
        .attr("type", "radio")
        ).append(
        $("<label/>")
        .attr("for", lista[i].codigo+"RadioVariavel")
        .html(lista[i].descricao)
        );

1 个答案:

答案 0 :(得分:1)

我之前遇到过类似的问题。我很惊讶你没有得到一个彻头彻尾的错误,因为jQuery doesn't allow you to change the input type

请改为尝试:

$('<input type="radio" />')
    .attr("id", lista[i].codigo+"RadioVariavel")
    .attr("name", "consulta.variavel")
    .attr("value", lista[i].codigo);