【发布时间】:2011-10-08 23:49:03
【问题描述】:
我在那个帖子上有一个表格到一个隐藏的 iframe。表单的操作 URL 位于单独的域中。我在 Chrome 中看到表单发布但未发送表单数据的问题。
设置如下:
<form action="http://anotherdomain/save" method="post" target="myiframe" id="myform">
<!-- standard form fields here -->
<button type="submit">Submit</button>
</form>
<iframe src="about:blank" name="myiframe" style="display: none;"></iframe>
如果用户点击按钮,表单会按原样发布到 iframe 中,一切正常。但是,如果我引入 jQuery Validation,Chrome 就会停止工作。我的验证看起来像这样:
$("#myform").validate({
// various options set here
submitHandler: function(form) {
form.submit();
// stuff that should happen after the form submits
}
});
在这种情况下,form.submit() 会导致表单提交而不发布任何数据,只发送标题。 content-length 始终为 0。这只发生在 Chrome、Firefox、IE、Opera 中都可以正常提交。
更奇怪的是,如果我在页面上有另一个按钮,我用下面的代码连接它,表单会正确提交。
$("myotherbutton").click(function() { $("#myform").submit(); }
我不知道为什么 Chrome 会这样,以及是否有解决方法。任何帮助将不胜感激。
【问题讨论】:
标签: forms google-chrome jquery-validate cross-domain