Javascript循环以收集页面上的所有表单

时间:2012-03-19 15:48:14

标签: javascript asp.net-mvc-3 forms

我在尝试让页面上的所有表单立即提交时遇到了严重问题。使用mvc3的部分视图生成每个表单(可以是1到100之间的任何位置)。每个表单都是使用@using生成的(Ajax.BeginForm ....在JS中的一般'save'按钮事件处理程序中我有这个代码:

    var formsCollection = document.getElementsByTagName("form");

                for (var i = 0; i < formsCollection.length; i++) {

                    formsCollection[i].submit();
                }

现在,令人费解和令人不安的部分是,写入它只会将最后一个表格保存在数据库的最后一个表格中。然而,当我在该循环中发出警报时,两者都会被保存!

当我点击常规“保存”按钮时,浏览器会跳转到空白页面,这会使问题更加复杂。现在,我确实在处理表单的控制器中“返回了新的EmptyResult()”,但是如果单击表单中的各个保存按钮,它就不会转到空白页面。

任何指向正确方向的人都会非常感激。

1 个答案:

答案 0 :(得分:1)

因为你有竞争条件。你一次提交两件事,其中只有一件可以实现。

您需要重新考虑您的设计。