Можно ли подать две формы одновременно? - PullRequest
2 голосов
/ 18 декабря 2009

Можно ли отправить две формы одновременно либо с помощью JavaScript, либо с помощью кнопки отправки?

Структура формы в порядке, примерно так:

<form name="form1" method="post">
.........
</form>

<form name="form2" method="post">
.........
</form>

И получить данные из двух в массиве?

Ответы [ 6 ]

11 голосов
/ 18 декабря 2009

Нет, это невозможно. Вы можете создать третью скрытую форму, которая будет сериализовать поля из них обоих.

Если вы можете использовать jQuery:

var str1 = $("form1").serialize();
var str2 = $("form2").serialize();
$.post(url, str1 + "&" + str2);

Вам необходимо убедиться, что str1 и str2 не пусты, и, конечно, избежать конфликтов имен между двумя формами.

2 голосов
/ 18 декабря 2009

Отправка двух форм приведет к двум вызовам на URL публикации, поэтому вы не сможете получить эти две данные одновременно.

1 голос
/ 18 декабря 2009

Нет, это невозможно.

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

1 голос
/ 18 декабря 2009

Нет, это невозможно на одной странице.

Отправка AJAX может быть ответом, как указано в другом месте, но другим возможным решением может быть встраивание второй формы в другую страницу и размещение этой страницы в IFrame на первой странице.

Не уверен, как это получится на самом деле, но, возможно, стоит попробовать

1 голос
/ 18 декабря 2009

Проблема в том, что отправка формы изменяет URL страницы. Это означает, что при отправке одной формы вторая форма больше не существует на активной странице и поэтому не может быть отправлена.

Вам нужно будет отправить их через AJAX. Используете ли вы какие-либо библиотеки JavaScript?

1 голос
/ 18 декабря 2009

Цель тега <form> - инкапсулировать информацию, которую браузер отправляет на сервер.

Единственный способ обойти это - это иметь некоторый JavaScript, который просматривает DOM и извлекает информацию из одной формы и помещает ее в другую, когда пользователь нажимает кнопку Отправить.

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