使用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 中。我使用提琴手检查在后台传输的内容,并且在所有情况下都会返回正确的响应(包括表单和隐藏标签),但是随后在 jQuery 中发生了一些事情,将响应设置为表单 innerHTML。
我正在查看 jQuery.form 插件中的条件代码,它为 IE 做了一些不同的事情,但无法弄清楚。
对于任何 IE 浏览器,上述代码的警报值将是 -1,对于任何其他浏览器,警报值将大于零。