如果您有 3 个表单(如下所示)并且您将其中两个表单设置为不显示(display:none;)并且您使用 javascript 来切换每个表单,当您将它们设置为隐藏时,这些表单设置为可见和您尝试按 Enter 提交表单,它不会提交。
如果默认情况下第一个表单可见,则将提交的唯一表单。
这适用于 ie7 和 ie6,但不适用于 ie8(如图)
我正在使用 jquery 来隐藏和显示我的表单,但这应该不是问题。我也尝试过使用不同的 css 规则(如可见性:隐藏),但仍然是同样的问题;
<a href="" onclick="$('#form1').show();$('#form2').hide();$('#form3').hide();">form1</a>
<a href="" onclick="$('#form1').hide();$('#form2').show();$('#form3').hide();">form2</a>
<a href="" onclick="$('#form1').hide();$('#form2').show();$('#form3').hide();">form3</a>
<div id="form1">
<form method="get" action="test1/" >
<input type="text" name="text1" id="text1" />
<input type="text" name="text2" id="text2" />
<input type="text" name="text3" id="text3" />
<input type="submit" name="submit1" value="submit1"/>
</form>
</div>
<div id="form2" >
<form method="get" action="test2/" style="display:none" >
<input type="text" name="text4" id="text4" />
<input type="text" name="text5" id="text5" />
<input type="text" name="text6" id="text6" />
<input type="submit" name="submit2" value="submit2"/>
</form>
</div>
<div id="form3" >
<form method="get" action="test3/" style="display:none" >
<input type="text" name="text7" id="text7" />
<input type="text" name="text8" id="text8" />
<input type="text" name="text9" id="text9" />
<input type="submit" name="submit3" value="submit3"/>
</form>
</div>