2012-02-07 3 views
1

Что я пытаюсь сделать здесь, это один клик, который отправляет два сообщения. Вот мой HTMLодин клик триггеры 2 сообщения

<form id="input" method="post" action="http:\\example.com\try"> 
     <input type="text" name="info1" id="text1"/> 
     <input type="submit" id="submit"/> 
</form> 
<form id="input2" method="post" action="http:\\example.com\try"> 
     <input type="text" name="info2" id="text2"/> 
</form> 

И сценарий

$("#submit").click(function() { 
    $("#text2").submit(); 
}); 

, что я думал, что после того, как я нажимаю на кнопку отправки для первой форме, submittion для второй формы также должен быть запущен, я должен получил 2 записи на моей стороне сервера, example.com/try. Но, оказывается, сервер получает только второй пост, который является info2, а также в соответствии с консолью chrome запускается только вторая запись. Любая идея почему? возможно ли это, если вообще нет? Кстати, сервер и APP находятся в разных доменах.

ответ

1
$("#text2").submit(); 

запускает обратный вызов страницы перед тем, как исходное событие отправки может быть завершено, и опубликует вашу первую форму. Кроме того, вместо того, чтобы звонить submit() на кнопку отправки, я думаю, что более стандартно называть его действительной формой, которая для вас была бы: $("#input2").submit();

Если вы хотите опубликовать две формы, то вам придется отменяйте запросы ajax для обоих и обрабатывайте их обратные вызовы.

+0

Или ajax первое сообщение и вызов submit() для второй формы в обратном вызове завершения – pepsi

+0

Да, но, насколько мне известно, я столкнулся с проблемой перекрестного домена, когда я делаю пост AJAX. Не говоря уже о том, что сервер и почта находятся в двух разных доменах. спасибо –

+1

@ClintHui - если вы отправляете формы в другой домен, вы можете посмотреть, как настроить CORS, чтобы разрешить перекрестный домен ajax, или вам, возможно, придется передумать эту страницу с нуля и выровнять несколько форм или просто переосмыслить требование, чтобы они размещались один за другим. Хотелось бы, чтобы у меня был лучший ответ для вас :( –

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