在我的Rails应用程序中,当我尝试从IE7或IE8提交表单时。它按预期工作。但是当我从IE9尝试时,它失败了。
如何解决此问题?
答案 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>
标签以避免此类问题。
希望有所帮助。