jQuery表单插件:序列化上的单选按钮问题

时间:2011-03-09 10:47:59

标签: javascript jquery ajax internet-explorer

我有一个简单的表格:

<form class="dataform" method="post" id="settings" action="/">
    <input type="radio" name="shareSetting" value="n"/>
    <input type="radio" name="shareSetting" value="y"/>
    <input type="button" name="sendSettings" value="Store"
        class="btn" onClick="javascript:sendSettings();" />
</form>

以下JavaScript代码:

function sendSettings() {
    $.ajax({
        data: $("form#settings").serialize(),
        type: 'post',
        url: '?settings=store',
        success: function(response) {
            $('#divSettings').html(response);
        }
    });
}

这在Firefox(3.6和4B),Chrome 10,Opera 11,Safari 5中运行得非常好但是 - 你猜对了 - 不是在IE 8中。

虽然在浏览器中选择了值,但IE不会发送单选按钮的内容。似乎$("form#settings")查找在IE中因未知原因而失败。

如果你们中的任何一个遇到同样的问题以及如何修复它,请告诉我。

非常感谢!

2 个答案:

答案 0 :(得分:1)

错误是由结构引起的(对我而言,IE似乎是一个错误)。最初我有:

<p> / <form> / <dl> / as listed in the question

一旦我将HTML更改为:

,问题就消失了
<form> / <p> / <dl> / as listed in the question

答案 1 :(得分:0)

http://jsfiddle.net/ybFRu/1/

检查这个在ie,7,ie8

中工作正常