IE9 +浏览器没有在IE9中提交表单,但适用于IE7,IE8

时间:2011-10-11 09:08:12

标签: ruby-on-rails-3 browser internet-explorer-9

在我的Rails应用程序中,当我尝试从IE7或IE8提交表单时。它按预期工作。但是当我从IE9尝试时,它失败了。

如何解决此问题?

1 个答案:

答案 0 :(得分:4)

我花了一点时间来解决这个问题,但实际上它看起来像IE9中的一个错误。 如果您在表单前有<p>标记,请确保在转到</p>标记之前使用<form>将其关闭。

基本上,关闭<p>标记是可选的,它应该由块级元素(例如<form>标记)自动关闭。 不幸的是,IE9并没有关闭它。但是,如果您在表单中有块级元素(例如<div>),则<p>将在该点自动关闭。 然后表单成为<p>标记的子元素,div元素(以及表单控件和提交按钮)完全退出表单。

这很糟糕:

<p> <form> <div> Form Contents </div> </form>

在IE9中呈现为:

<p> <form> </form> </p> <div> Form Contents </div>

这很好:

<p></p> <form> <div> Form Contents </div> </form>

在使用脚本来修改innerHTML时,我似乎只能复制问题,但据我所知,这是IE9中<form>元素的一般错误。 就个人而言,我建议手动关闭所有<p>标签以避免此类问题。

希望有所帮助。