AJAX POST表单正在更改页面

时间:2015-09-24 21:01:46

标签: jquery ajax forms post

这让我疯狂,我确定这是一个愚蠢的小错误,但我无法看到它 - 你们中的一个天才会让我感到尴尬吗?请指出来吗?

表单像普通表单一样发布,即当我想要像JQuery那样提交内联时更改页面。

JQUERY:

        $("#emailPromoter").submit(function(e) {
            var postData = $(this).serializeArray();
            var formURL = $(this).attr("action");
            $.ajax( {
                url : formURL,
                type: "POST",
                data : postData,
                success:function(data, textStatus, jqXHR) {
                    $('#venueForm').html( JSON.stringify( data ) );
                },
                error: function(jqXHR, textStatus, errorThrown) {
                    console.log( errorThrown );  
                }
            });
            e.preventDefault();
        });

HTML:

    <form name="emailPromoter" class="mobFrm" method="post" id="emailPromoter" action="submit/?id=<?= $intId ?>">
    <fieldset>
        <legend>Contact form</legend>
        <p><label for="name">Name <span class="red">*</span></label><input required name="name" type="text" id="name" /></p>
        <p><label for="email">Email <span class="red">*</span></label><input required name="email" type="email" id="email" /></p>
        <p><label for="confirmEmail">Confirm Email <span class="red">*</span></label><input required name="confirmEmail" type="email" id="confirmEmail" /></p>
        <p><label for="tel">Tel</label><input name="tel" type="tel" id="tel" /></p>
        <p><label for="address">Address</label><textarea name="address" rows="5" id="address"></textarea></p>
        <p><label for="message">Message <span class="red">*</span></label><textarea required name="message" rows="5" id="message"></textarea></p>
    </fieldset>
    <p><label>&nbsp;</label><input name="submit" id="submitForm" type="submit" class="submit" value="Send message" /></p>
</form>
<div id="response"></div>

有人让我免于某些疯狂吗?

谢谢。

更新:仍然看着它。我不认为这个函数被称为

2 个答案:

答案 0 :(得分:1)

您可以添加return false;代替e.preventDefault();

答案 1 :(得分:0)

解决它通过摆弄它,不确定究竟如何,但这最终是我的jquery:

        $("#emailPromoter").submit(function(e) {
            var postData = $(this).serialize();
            var formURL = $(this).attr("action");
            $.ajax( {
                url : formURL,
                type: "POST",
                data : postData,
                success:function(data, textStatus, jqXHR) {
                    $('#venueForm').html( data );
                },
                error: function(jqXHR, textStatus, errorThrown) {
                    console.log( errorThrown );  
                }
            });
            e.preventDefault();
        });