Цикл Javascript для сбора всех форм на странице - PullRequest
0 голосов
/ 19 марта 2012

У меня серьезные проблемы с попыткой получить все формы на странице для одновременной отправки. Каждая из форм (их может быть от 1 до 100) генерируется с использованием частичных представлений с mvc3. Каждая из форм генерируется с использованием @using (Ajax.BeginForm .... В общем обработчике событий кнопки «сохранить» в JS у меня есть этот код:

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

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

                    formsCollection[i].submit();
                }

Теперь, загадочная и тревожная часть в том, что, как написано, она сохраняет только последнюю форму в последней в базу данных. Тем не менее, когда я помещаю предупреждение в этот цикл, оба получают спасение!

Чтобы еще больше усложнить ситуацию, когда я нажимаю общую кнопку «Сохранить», браузер переходит на пустую страницу. Теперь у меня есть «return new EmptyResult ()» в контроллере, который обрабатывает формы, но если я нажимаю отдельные кнопки сохранения в формах, он не переходит на пустую страницу.

Будем весьма благодарны за любые указатели в правильном направлении.

1 Ответ

1 голос
/ 19 марта 2012

Потому что у вас есть состояние гонки.Вы отправляете две вещи одновременно, на самом деле только одна из них может сделать это.

Вам необходимо переосмыслить свой дизайн.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...