Ajax没有在提交时触发

时间:2014-08-29 19:48:44

标签: javascript jquery ajax

我正在尝试创建一个对URL有动作的表单。但它首先要求ajax提交,然后它应该提交给行动。

它应该给我发一封电子邮件(在newsletter.php中)。

<script type='text/javascript'>
$(function () {
    $("#signup").on('submit', function( e, response ) {
        if (response.errors == false) {
            $.ajax({
                type : 'GET',
                url : 'newsletter.php',
                data: {
                    name : $('#os0').val(),
                    email: $('#os1').val()
                },
                success : function(data) {
                    $('#subscribe').submit();
                },
                error : function(XMLHttpRequest, textStatus, errorThrown) {
                    // error handling
                }
            });
            return false;
        }
        return true;
    });
});
</script>

HTML

<form name="signup" id="signup" action="" method="GET">
    <input type="text" id="os0" name="Email" />
    <input class="text" id="os1" type="text" name="cd_FULLNAME" />
    <input type="Submit" name="Submit" id="subscribe" value="Subscribe" />
</form>

1 个答案:

答案 0 :(得分:2)

<script type='text/javascript'>
$(function () {
    $("#signup").on('submit', function( e, response ) {
        $.ajax({
            type : 'GET',
            url : 'newsletter.php',
            data: {
                name : $('#os0').val(),
                email: $('#os1').val()
            },
            success : function(data) {
                $("#signup")[0].submit();
            },
            error : function(XMLHttpRequest, textStatus, errorThrown) {
                // error handling
            }
        });
        return false;
    });
});
</script>

请注意$("#signup")submit();$("#signup")[0].submit();之间的差异。