提交错误的表格

时间:2016-10-07 10:23:09

标签: html forms onsubmit

请参阅以下代码。



<!DOCTYPE html>
<html>
<body>
<form action="#" method="post" id="frmIdSave" name="frmNmSave" onsubmit="alert('Save');return false;">
<div>
	<input type=submit class="greyBttn" value="Save" id="btnIdSave" name=btnNameSave/>
	<input type="hidden" name="testsave" value="1" />
	</form>
	<form action="#" id="frmback" name="frmback" onsubmit="alert('Back');return false;">
	<input type="submit" class="greyBttn" value="Back" id="btnIdBack" name="btnNameBack"/>
	<input type="hidden" name="testback" value="1" />
	</form>
</div>
</body>
</html>
&#13;
&#13;
&#13;

在IE11 / Edge上后退按钮在页面上的两个表单上触发onsubmit事件。

这是因为第一个表格标签在Div之外。

我怎样才能解决这个问题?

由于

西蒙

2 个答案:

答案 0 :(得分:3)

  

这是因为第一个表格标签在Div之外。

  

我怎样才能解决这个问题?

valid HTML。将它移到div中。

答案 1 :(得分:-1)

我已使用下面的代码解决了这个问题。 值得注意的是,当您使用javascript提交时,表单上的onsubmit事件不会被调用,因此完整的解决方案会将任何onsubmit代码抽象为一个单独的函数。

<!DOCTYPE html>
<html>
<body>

<form action=# method=post id=frmIdSave name=frmNmSave onsubmit="alert('Save');return false;">
<div>
<input type=submit class="greyBttn" value="Save" id=btnIdSave name=btnNameSave/>
<input type=hidden name=testsave value='1'/>
<input type=button class="greyBttn" onclick='document.getElementById("frmback").submit();' value="Back" id=btnIdBack name=btnNameBack/>

</div>
</form>

<form action=# id=frmback name=frmback onsubmit="alert('Back');return false;">
<input type=hidden name=testback value='1'/>
<input type=submit>
</form>

</body>
</html>