这是我的应用程序在每个浏览器中工作但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)
);
答案 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);