使用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,对于任何其他浏览器,警告值大于零。
答案 0 :(得分:0)
请注意,这是伏都教,但对我来说有用的是在表格标签前面添加一个空的预标签 - 然后IE就不再剥离表格标签......