2011-12-16 3 views
1

Дело:Как отправить две формы на одной странице?

У меня есть две формы
1> Собственная индивидуальная форма say form1.
2> Отрисовка формы от стороннего скрипта java script say form2.

Раньше существовала только одна форма
(без третьей формы) с одинаковыми полями.
Таким образом, я отправлял его с помощью одной кнопки отправки.
Позволяет сказать, что я вызывал Action1 для своей старой формы.

У третьей стороны есть собственная кнопка отправки, и она отправляет значения (не все. Только сторонняя сторона
значения) для управления контроллером и возврата ответа.

Я не хочу просить пользователя отправить дважды на той же странице.

Я хочу представить обе формы на старой кнопке отправки и скрыть стороннюю кнопку отправки.

Я могу изменить URL-адрес ответа (где можно отправить заявку на отправку сторонней формы).

Я собираюсь спрятать стороннюю кнопку отправки с помощью css и позвонить по клику/отправке, когда я
нажмите кнопку «Отправить», используя javascript.

Позволяет задать целевую страницу ответа для третьей стороны для Action1.

Но если я приземлюсь на старое действие, то есть Action1, я не могу получить старый настраиваемый элемент формы?

Я застрял в этом сценарии.

У вас может быть лучшее решение?

[Использование рамок распорок и JSP для визуализации формы.]

+0

Вы не сможете представить две формы сразу за обычным способом с кнопками. Вы можете отправить одну форму через javascript, как только ответ вернется, затем подайте вторую форму (либо через javascript, либо в обычное действие = «независимо») – Prescott

ответ

0

Лучше всего, чтобы скопировать параметры одной формы к другой, чтобы использовать JavaScript.

Этот же механизм можно использовать для удаления кнопки отправки другой формы.

1

Использования JQuery вы можете попробовать это,

$("#submit").livequery('click', function() { 
    var form = $("#second_form"); 
    var action = form.attr("action"); 
    var serialized_form = form.serialize(); 
    $.post(action, serialized_form, submit_first); 
}); 

function submit_first(val) { 
    $("#first_form").submit(); 
} 

второго вариант

$("#form1").submit(function(){ 
    $.post($(this).attr("action"), $(this).serialize(), 
     function(){ 
      $.post($("#form2").attr("action"), $("#form2").seriallize(), 
       function(){ 
        alert("Now what?"); 
       }); 
     }); 
}); 

Надеется, что это также полезно, Submit multiple forms with jQuery and Ajax.

Смежные вопросы