jquery表单插件响应在IE中删除了标签

时间:2012-04-11 08:25:36

标签: jquery ajax forms

使用jQuery From Plugin来解决一个奇怪的问题。我看到的问题只发生在IE中。问题是使用IE时ajax响应会剥离表单标签。

<form id="the-form" method="post" action="url">
    // Fields
    <input type="submit" value="Submit" />
</form>
<input type="hidden" id="_keepDialog" />

脚本:

$('#the-form input[type="submit"]').click( function (ev) {
    ev.preventDefault();
    $('#the-form').ajaxSubmit({ 
        sucess: function (html) {
            alert(html.indexOf('_keepDialog'));
        }
    });
};

这将在jQuery对话框中使用。显示对话框后,使用$ .ajax从完全相同的URL加载内容。内容在该通话中恢复正常。但是当提交通过.ajaxSubmit进行时,回复的html缺少最外层的标签,这只发生在IE中。我使用fiddler来检查后台传输的是什么,并且在所有情况下都会返回正确的响应(包括表单和隐藏的标签),但随后在jQuery中发生了一些事情,它将响应设置为innerHTML。

我正在查看jQuery.form插件中的条件代码,它为IE做了不同的事情,但无法弄明白。

对于任何IE浏览器,上述代码的警报值为-1,对于任何其他浏览器,警告值大于零。

1 个答案:

答案 0 :(得分:0)

请注意,这是伏都教,但对我来说有用的是在表格标签前面添加一个空的预标签 - 然后IE就不再剥离表格标签......