ajax函数在第二次单击后启动

时间:2019-01-26 23:12:49

标签: javascript html ajax forms validation

我有一个与Ajax请求相关的表单。我使用验证jQuery插件进行表单检查。 因此,当我单击提交按钮时,ajax调用不起作用。再次单击提交按钮后,它开始工作。 为什么会这样?

这是我的表格

printf

我的带有验证功能的ajax功能

<form action="" id="anyQuestion" class="form-row">
    @csrf
    <input type="hidden" name="slug" value="{{$page->slug}}">
    <div class="form-group col-12">
        <input type="text" name="name" placeholder="name" class="form-control">
    </div>
    <div class="form-group col-6">
        <input type="text" name="email" placeholder="mail" class="form-control">
    </div>
    <div class="form-group col-6">
        <input type="text" name="phone" placeholder="phone" class="form-control">
    </div>
    <button class="submit-button mb-4 mt-2 w-100">submit</button>
</form>

1 个答案:

答案 0 :(得分:0)

这两行:

http

位于您的提交处理程序中,但它们是首先设置提交处理的内容。因此,似乎您的第一个按钮单击是调用 var anyQuestionForm = $('#anyQuestion'); anyQuestionForm.submit(function (e) { ,然后它会设置表单的Submit事件处理程序,以便再次单击将提交AJAX请求。

它们应该在submitHandler函数中:

document.ready()

或者,由于您的$(function(){ var anyQuestionForm = $('#anyQuestion'); anyQuestionForm.submit(function (e) { . . . }); 中已经有submit回调,因此您甚至不需要submitHandler回调,只需执行以下操作:

submit