2014-10-01 2 views
0

Пояснение:Передача двух форм с помощью кнопки отправки с помощью Ajax

Прошлая ситуация. Я ищу способ вызова другой функции Ajax, когда данные имеют успех, но я не могу сделать это из-за неизвестных обстоятельств.

Код:

--- HTML форма:

<form accept-charset="utf-8" id="contactForm1" style="margin-top:;" action="" method="post"> 
    <input class="wf-input wf-req wf-valid__email" type="text" name="email" 
     data-placeholder="yes" id="email" value="Enter Your Email Here" onfocus=" 
     if (this.value == 'Enter Your Email Here') 
     { this.value = ''; }" onblur="if (this.value == '') 
     { this.value='Enter Your Email Here';} " style="margin-top:;"> 
    </input> 
    <br /> 
    <input type="submit" class="wf-button" name="submit1" value=" " style="display: inline !important; margin-top:-10px !important;"></input> 
</form> 

---- Ajax код:

$(function() { 
    $('.wf-button').click(function (e) { 
    e.preventDefault(); 
    var email = $('#email').val(); 
    var frm = this; 
    $.ajax({ 
     type: 'POST', 
     dataType: 'JSON', 
     url: 'check.php', 
     data: { 
      email: email 
     }, 
     success: function (data) { 
      if (data.status == 'success') { 
      // Need to place it here 
      frm.submit(); 
      } else { 
       alert('The e-mail address entered is not valid.'); 
      } 
     } 
    }); 
}); 

--- Другая форма с HTML в одной и той же странице: -

<form method="post" id ="aweber" class="af-form-wrapper" action="http://www.aweber.com/scripts/addlead.pl" > 
<div style="display: none;"> 
<input type="hidden" name="meta_web_form_id" value="947846900" /> 
<input type="hidden" name="meta_split_id" value="" /> 
<input type="hidden" name="listname" value="awlist3599001" /> 
<input type="hidden" name="redirect" value="http://www.aweber.com/thankyou.htm?m=default" id="redirect_37ecf313df3b6f27b92c34c2c00ef203" /> 

<input type="hidden" name="meta_adtracking" value="ibb_test" /> 
<input type="hidden" name="meta_message" value="1" /> 
<input type="hidden" name="meta_required" value="email" /> 

<input type="hidden" name="meta_tooltip" value="" /> 
</div> 
<div id="af-form-947846900" class="af-form"><div id="af-body-947846900" class="af-body af-standards"> 
<div class="af-element"> 
<label class="previewLabel" for="awf_field-66127140">Email: </label> 
<div class="af-textWrap"><input class="text" id="awf_field-66127140" type="text" name="email" value="" /> 
</div><div class="af-clear"></div> 
</div> 
<div class="af-element buttonContainer"> 
<<input name="submitaw" id="submitaw" class="wf-button" type="submit" value="Submit" tabindex="501" /> 
<div class="af-clear"></div> 
</div> 
</div> 
</div> 
<div style="display: none;"><img src="http://forms.aweber.com/form/displays.htm?id=nCzsHCxsnAwM" alt="" /></div> 
</form> 

Сценарий:

Я хотел бы, когда триггер Ajax, когда пользователь нажмет кнопку отправки для ID ContactForm1.
Перед отправкой формы я хочу, чтобы Ajax отправил одно и то же значение в другую форму на той же странице и нажал кнопку Отправить.

Как?

+0

вы говорите, что обе формы имеют точно такое же поле? – manishie

+0

@manishie, просто класс, но разные поля. Если возможно вызвать и отправить информацию в две конкретные формы и отправить форму с задержкой. –

+0

уверен, но нужно ли нам отправлять данные поля в другую форму, или вы просто пытаетесь инициировать отправку формы в другой форме, отправляя все данные, введенные вручную? – manishie

ответ

0

попробовать это:

$('#aweber').submit(function (e) { 
    e.preventDefault(); 
    var email = $('#email').val(); 
    var frm = this; 
    $.ajax({ 
     type: 'POST', 
     dataType: 'JSON', 
     url: 'check.php', 
     data: { 
      email: email 
     }, 
     success: function (data) {alert('first form submitted'); 
      if (data.status == 'success') { 
       frm.submit(); 
      } else { 
       alert('The e-mail address entered is not valid.'); 
      } 
     } 
    }); 
}); 
+0

Могу ли я поместить функцию frm.submit(); когда функция является успешной для второй формы? –

+0

извините, я не понимаю. – manishie

+0

Если вы посмотрели мой исходный код в верхней части, текущий работает с одной формой. Когда это успех, я использую функцию frm.submit(); для отправки формы. Но сейчас я попытался реализовать свой код, он не прошел и не отправил код во вторую форму. Когда я ввел его вручную, он проходит. –

0

отправить форму, если успех всегда перезагружать страницу. Использование сообщения ajax для сервера.

Вы можете попробовать:

$.when($.ajax("/page1.php"), $.ajax("/page2.php")).then(myFunc, myFailure); 

http://api.jquery.com/jquery.when/