我在帖子上有一个隐藏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验证,那么Chrome的功能就停止了。我的验证看起来像这样:
$("#myform").validate({
// various options set here
submitHandler: function(form) {
form.submit();
// stuff that should happen after the form submits
}
});
在这种情况下,form.submit()会导致表单提交而不发布任何数据,只会发送标题。内容长度始终为0.这只发生在Chrome,Firefox,IE,Opera都提交正常。
更奇怪的是,如果我在页面上有另一个按钮并使用以下代码连接它,表单会正确提交。
$("myotherbutton").click(function() { $("#myform").submit(); }
我不知道为什么Chrome会以这种方式运行,如果有解决方法的话。任何帮助将不胜感激。
答案 0 :(得分:0)
请忽略这个问题。 Chrome和事件处理程序不是问题,而是在调用事件之前删除DOM元素。