You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

JQuery AJAX提交表单时页面跳转至submit.php问题求助

解决jQuery AJAX表单无刷新提交失效的问题

我仔细看了你的代码,发现几个关键问题导致点击提交后页面直接跳转,没法实现无刷新提交,咱们一步步来修复:

1. 表单缺少action属性

你的HTML表单里没有指定action属性,但JS代码里用了$(form3).attr('action')来获取请求地址,这会导致AJAX请求默认指向当前页面(而不是你说的submit.php),进而引发页面刷新。

修复方法:给form标签加上action="submit.php":

<form class="offerte-form" method="post" action="submit.php">
  <!-- 原有表单内容保持不变 -->
</form>

2. 确认jQuery正确加载

如果你的页面没有正确引入jQuery库,所有jQuery代码都会失效,自然没法阻止表单的默认提交行为。

检查方法:在你的自定义JS代码之前引入jQuery,比如放在页面底部:

<script src="https://code.jquery.com/jquery-3.7.1.min.js"></script>
<script>
// 你的AJAX代码放在这里
</script>

3. 优化事件绑定逻辑

你的JS代码里可以用$(this)指代当前表单,更简洁也避免变量引用问题,同时确保event.preventDefault()确实优先执行:

修改后的JS代码:

$(function() {
  // 获取表单和消息容器
  var form3 = $('.offerte-form');
  var formMessages3 = $('.offerte-form-message');

  $(form3).submit(function(event) {
    // 先阻止浏览器默认提交行为(这一步一定要放在最前面)
    event.preventDefault();
    
    // 打印日志确认事件触发,方便调试
    console.log("表单提交事件已触发,默认行为已阻止");

    // 序列化表单数据
    var formData3 = $(this).serialize();
    console.log(formData3);

    $.ajax({
      type: 'POST',
      url: $(this).attr('action'), // 使用当前表单的action属性
      data: formData3
    }).done(function(response) {
      // 成功后的处理逻辑
      $(formMessages3).removeClass('alert alert-danger').addClass('alert alert-success');
      $(formMessages3).text(response);
      // 批量清空表单
      $('#naamofferte, #naambedrijf, #adresofferte, #vestplaats, #postcode, #emailofferte, #telnrofferte, #offertevoor, #messageofferte').val('');
    }).fail(function(data) {
      // 失败后的处理逻辑
      $(formMessages3).removeClass('alert alert-success').addClass('alert alert-danger');
      $(formMessages3).text(data.responseText !== '' ? data.responseText : 'Helaas, er ging iets fout, probeer het opnieuw');
    });
  });
});

4. 排查潜在的JS冲突

如果上面的修改后还是有问题,检查页面上是否有其他JS代码绑定了表单的submit事件,或者有代码覆盖了event.preventDefault()的效果。可以暂时移除其他JS代码,只保留jQuery和你的表单AJAX代码,测试是否正常工作。

按照上面的步骤调整后,应该就能实现无刷新提交了。如果还有问题,可以打开浏览器的开发者工具(F12),查看Console面板有没有报错信息,或者Network面板看看AJAX请求是否正常发送到submit.php。

内容的提问来源于stack exchange,提问作者Jan jansen

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 07:18:07