jQuery绑定发送表单两次

jQuery bind sending form twice

本文关键字:两次 表单 绑定 jQuery      更新时间:2023-09-26

我写了一个脚本,他提交了两次表格。有人能帮忙吗?

PS:我需要任何元素都可以发送表单

$('*').bind('click', function(event) {
      if ($(this).attr('href') && $(this).attr('href') != '#') {
        .....
      } else if ($(this).attr('form-name')) {
        $(this).attr('disabled', true);
        var FormId = '#' + $(this).attr('form-name');
        var Target = $(this).attr('action-url');
        $.ajax({
          type: 'POST',
          dataType: 'html',
          url: Target,
          data: $(FormId).serialize(),
          success: function(response) {
            eval(response);
          }
        }).always(function() {
          $(this).attr('disabled', false);
        });
      }
    }

您一次通过$.ajax调用提交表单,一次通过<button>的默认行为提交表单。添加:

event.preventDefault();

到您的click处理程序的末尾。

另外,如果您希望在页面上的每个元素上都有一个单击处理程序,我强烈建议您查看事件委托。