javascript - 如何使用ajax提交已经加载ajax的表单,而不重新加载当前页面?

标签 javascript jquery ajax forms

我在这个问题上挣扎了大约一周,我需要做的是,用ajax提交表单,已经加载了ajax,我尝试了很多解决方案,但没有任何效果,所以如果有人知道,正确的方法,我将不胜感激, 并感谢先进。

这是我的代码:

<form class="w3-container" method="POST" action="forms-submitting" id="SignIN">
        <p>
        <label><b> إسم المستخذم </b></label>
        <input class="w3-input w3-border" type="text" name="user_name">
        </p>
        <p>
        <label><b> كلمة المرور <b></label>
        <input class="w3-input w3-border" type="password" name="pass_word">
        </p>
        <p>
            <button type="submit" class="w3-button w3-text-blue"> تسجيل الدخول </button>
        </p>
</form>

这是我的 ajax 代码:

$("#SignIN").submit(function(e) {
  var url = "forms-handle.php";
  $.ajax({
       type: "POST",
       url: url,
       data: $("#SignIN").serialize(),
       success: function(data)
       {
           alert(data); 
       }
  });
  e.preventDefault();
});

最佳答案

由于您没有使用常规提交,因此您可以将按钮更改为 button 类型并将点击事件附加到此按钮,如下所示:

<button type="button" id="login" class="w3-button w3-text-blue"> تسجيل الدخول </button>

$('body').on('click', '#login', function(e) {
  e.preventDefault();

  $.ajax({
       type: "POST",
       url: "forms-handle.php",
       data: $("#SignIN").serialize(),
       success: function(data)
       {
           alert(data); 
       }
  });
});

注意:由于表单是动态加载的,因此您应该使用事件委托(delegate) .on()

希望这有帮助。

关于javascript - 如何使用ajax提交已经加载ajax的表单,而不重新加载当前页面?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43348186/

相关文章:

javascript - Linux 下的 Firefox 15.0.1 中未触发 transitionend 事件

javascript - 在 JavaScript 类方法中,即使使用箭头函数,也无法在 addEventListener() 内使用 'this'。如何解决这个问题

javascript - 如何使用 Chart.js 删除极坐标图表区域中的线条/网格或为其着色?

javascript - 简单的 jQuery 过滤器功能无法正常工作

javascript - 如何取消表单提交?

javascript - 用另一个 HTML 页面替换 <div>

javascript - jQuery 复选框触发其他复选框的检查

php - jQuery AJAX 简单 PHP 发布不工作

python - 如何使用 Ajax 检查 django-celery 任务的状态和结果?

php - Jquery的Ajax和杀死PHP上的SQL进程