使用带有Ajax的提交按钮提交两个表单

时间:2022-11-24 08:41:01

Explanation :

Here's the situation goes . I'm searching a way to call another Ajax function when the data is success but I'm unable to do due to unknown circumstances.

情况就是如此。我正在寻找一种方法来在数据成功时调用另一个Ajax函数但由于未知情况我无法做到。

Code:

---HTML Form :

--- 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 Code :

---- 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.');
            }
        }
    });
});

---Another form with HTML in the same page:-

---在同一页面中使用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>

Scenarion :

I would when the Ajax trigger when the user click the submit button for the ID ContactForm1.
Before submitting the form , I want the Ajax to send the same value to the other form in the same page and click submit .

当用户单击ID ContactForm1的提交按钮时,我会在Ajax触发时触发。在提交表单之前,我希望Ajax将相同的值发送到同一页面中的另一个表单,然后单击“提交”。

How?

2 个解决方案

#1


0  

try this:

$('#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.');
            }
        }
    });
});

#2


0  

submit form if success always reload page. Using ajax post to server.

如果成功总是重新加载页面,则提交表单使用ajax发布到服务器。

You can try it:

你可以尝试一下:

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

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

#1


0  

try this:

$('#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.');
            }
        }
    });
});

#2


0  

submit form if success always reload page. Using ajax post to server.

如果成功总是重新加载页面,则提交表单使用ajax发布到服务器。

You can try it:

你可以尝试一下:

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

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