Javascript 是否使用Internet Explorer提交两次表单中的表单请求?

Javascript 是否使用Internet Explorer提交两次表单中的表单请求?,javascript,internet-explorer-7,request,form-submit,Javascript,Internet Explorer 7,Request,Form Submit,我有一个表单包含另一个表单。 当我通过javascript提交嵌套表单时,它会在Internet Explorer中提交两次,但在任何其他浏览器中只提交一次。 如何提交嵌套表单以在IE中仅发送一个请求 编辑: 我正在使用onchange事件提交嵌套表单。。那么,在我的例子中,单击是如何工作的呢?您确实不应该嵌套表单,但可以停止事件的传播。例如,如果您的单击事件正在提交外部表单,请执行以下操作: $("form").on("click", function(e){ e.stopPropaga

我有一个表单包含另一个表单。
当我通过javascript提交嵌套表单时,它会在Internet Explorer中提交两次,但在任何其他浏览器中只提交一次。
如何提交嵌套表单以在IE中仅发送一个请求

编辑:
我正在使用onchange事件提交嵌套表单。。那么,在我的例子中,单击是如何工作的呢?

您确实不应该嵌套表单,但可以停止事件的传播。例如,如果您的
单击
事件正在提交外部表单,请执行以下操作:

$("form").on("click", function(e){
   e.stopPropagation();
});
一定要阅读

此外,不必嵌套表单。你可以在一个表单中有一个提交按钮,如果你愿意,可以提交一个完全不同的表单;只需在按钮本身上使用
表单
属性即可:

<form id="foo">
    <!-- Within #foo, but I submit #bar -->
    <input type="submit" form="bar" value="Within Foo" />
</form>

<form id="bar">
    <!-- Within #bar, but I submit #foo -->
    <input type="submit" form="foo" value="Within Bar" />
</form>​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​

“我有一个表单包含另一个表单。”-您的HTML无效。修好它。然后再担心你有什么问题。@Quentin我有一张表格在一页,另一张表格在另一页,第二张表格在第一页。。使用瓷砖…什么是瓷砖?您仍然不能有一个表单元素是另一个表单元素的后代。@Quentin使用Tiles概念,意味着对最终用户来说,多个页面是作为一个页面形成的,feel.。如果您要将多个文件合并到一个页面中,则您有责任确保结果有效。嵌套表单无效。这将停止问题,但您真的不应该在表单中包含表单…@Dameo我知道这一点。由于不知道用户的设置或限制,我发现回答他们的问题很有帮助,然后提出问题(和解决方案)。@JonathanSampson我正在使用onchange事件提交嵌套表单。。那么,在我的情况下,点击如何工作?@Mr.Chowdary更改代码,使
onchange
不会传播。@JonathanSampson代替“点击”,我必须在您提供的解决方案中替换“更改”。。?我是jquery工作的新手。。。
$(":submit[form]").on("click", function ( e ) {
    $( "#" + $(this).attr("form") ).submit();
    e.preventDefault();
});