如果您返回false,在使用ajax时是否可以在表单中使用提交按钮?

时间:2013-05-18 10:20:50

标签: jquery ajax forms button submit

下面的代码从表单中获取输入并从处理程序中获取结果。这封电子邮件发送和正常工作;但是,我的代码可能不正确,因为我有提交按钮而不是按钮?我认为它会没问题,因为我在点击功能中返回false。也许使用按钮值是一个更好的主意,并在表单中取出动作,因为它已经在ajax中?

<div id="result">
</div>
<form action="handler.php" id="contact-form">
    <input type="text" name="name" class="clear">
    <input type="text" class="clear">
    <textarea name="message" class="clear">
    </textarea>
    <input type="submit" value="Send" id="submit-form">
</form>
$("#submit-form").click(function() {
    $.ajax({
        type: "POST",
        url: "handler.php",
        data: $("#contact-form").serialize(),
        success: function(response) {
            $('#result').html(response);
        }
    });
    return false;
});

1 个答案:

答案 0 :(得分:1)

表单不仅可以通过单击提交按钮进行汇总,还可以在关注输入类型文本时按下Enter键,或者在控制台中输入类似:document.forms['your_form'].submit();的内容。因此,您必须在表单元素上添加事件,如下所示:

$("#your_form_id").on("submit", function (e) {
    e.preventDefault();
    e.returnValue = false;

    // your code here

    return false;
})