Javascript iFrame将信息传递给Ajax并触发Ajax中的submit按钮

Javascript iFrame将信息传递给Ajax并触发Ajax中的submit按钮,javascript,php,jquery,ajax,iframe,Javascript,Php,Jquery,Ajax,Iframe,我遇到了一个问题,Ajax没有触发事件 我有两种形式,一种是可见的,一种是隐藏的 在可见表单中,用户可以输入电子邮件地址 当用户单击可见表单的submit按钮时,将阻止默认提交,并通过Ajax验证电子邮件 如果电子邮件地址无效,将显示错误消息 如果电子邮件地址有效,则应使用JS(在ajax成功函数中)单击隐藏表单的提交按钮 以下是更多代码供参考: HTML 可见形式 下面是这个场景的情况: 用户输入电子邮件地址,然后单击提交按钮 Ajax调用检查它是否是有效的电子邮件 如果电子邮件有效,则显

我遇到了一个问题,Ajax没有触发事件

我有两种形式,一种是可见的,一种是隐藏的

  • 在可见表单中,用户可以输入电子邮件地址
  • 当用户单击可见表单的submit按钮时,将阻止默认提交,并通过Ajax验证电子邮件
  • 如果电子邮件地址无效,将显示错误消息
  • 如果电子邮件地址有效,则应使用JS(在ajax成功函数中)单击隐藏表单的提交按钮
    以下是更多代码供参考:

    HTML 可见形式


    下面是这个场景的情况:

  • 用户输入电子邮件地址,然后单击提交按钮
  • Ajax调用检查它是否是有效的电子邮件
  • 如果电子邮件有效,则显示表单的Ajax成功功能
    • 首先设置隐藏表单的电子邮件值
    • 然后触发隐藏表单的提交按钮

  • 如前所述,步骤3不起作用

    请使用complete代替success

    $('#contactForm1').click(function(e) {
        e.preventDefault();
        var email = $('#email').val();
        var self = this;
        $.ajax({
            type: 'POST',
            dataType: 'JSON',
            url: 'check.php',
            data: {
                email: email
            },
            complete: function(data) {
                if (data.status == 'success') {
                    self.submit();
                } else {
                    alert('The e-mail address entered is not valid.');
                }
            }
        });
    });
    

    对此不是100%确定,因为我自己使用
    $.post()。。但是我认为你应该使用
    .done(函数…
    .source:(页面底部)@myfunkyside,而不是
    ,success:function…
    你应该使用
    .done(函数…
    )@myfunkyside,我想我在这里发现了错误..iframe是空的..
    $.ajax({type:“POST”,url:“some.php”,数据:{name:“John”,age:“15”}).done(函数(msg){alert(msg);});
    @myfunkyside,我可以请你帮个忙吗?@myfunkyside,我已经在上面编辑了代码。因为iframe方法不起作用。我在页面中用不同的表单操作ID隐藏表单。下面是我希望发生的事情,当ajax触发contactform1中的click函数时,我希望在表单中传递相同的值然后点击其他表单中的提交有什么不同,先生?您可以在这里查看解释,
    <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="submitaw" 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>
    
    $('#contactForm1').click(function(e) {
        e.preventDefault();
        var email = $('#email').val();
        var self = this;
    
        $.ajax({
            type: 'POST',
            dataType: 'JSON',
            url: 'check.php',
            data: {
                email: email
            },
            success: function (data) {
                if (data.status == 'success') {
                    self.submit();
                } else {
                    alert('The e-mail address entered is not valid.');
                }
            }
        });
    });
    
    $('#contactForm1').click(function(e) {
        e.preventDefault();
        var email = $('#email').val();
        var self = this;
        $.ajax({
            type: 'POST',
            dataType: 'JSON',
            url: 'check.php',
            data: {
                email: email
            },
            complete: function(data) {
                if (data.status == 'success') {
                    self.submit();
                } else {
                    alert('The e-mail address entered is not valid.');
                }
            }
        });
    });