调用click事件不会使用Ajax提交表单

时间:2017-04-19 18:08:23

标签: jquery

我正在使用<button type="action" value="click"></button>调用click事件来提交带有Ajax的表单。如果我不调用submit事件,则提交带有按钮类型click的表单。所以你可以消除这种可能性。我只需要通过点击事件调用submit函数,我怀疑我是否正确行事。

错误的代码示例:

// On document ready
$(function() {
  $('#update-button').click(function(){
    $('#update-cart').submit(function(ev) {

      // Prevent the form from actually submitting
      ev.preventDefault();
      // Get the post data
      var data = $(this).serialize();

      // Send it to the server
      $.post('/', data, function(response, textStatus, jqXHR) {
        if (response.success) {
        // YES
        } else {
        // Ooo NO
        }
      });
    });
  });
});

1 个答案:

答案 0 :(得分:1)

// On document ready
$(function() {
  $('#update-button').click(function(event){
      // Prevent the form from actually submitting
      event.preventDefault();
      // Get the post data
      var data = $("#update-cart").serialize();

     // Send it to the server
     $.post('/', data, function(response, textStatus, jqXHR) {
       if (response.success) {
         // YES
       } else {
         // Ooo NO
      }
    });
  });
});

为了避免需要花费大量时间来解决的id个问题,最好为DOM元素提供正确的命名约定。

  • 隐藏字段 - &gt; hdnElementName
  • 按钮 - &gt; btnElementName
  • 文本框 - &gt; txtElementName

使用这样的命名约定肯定会消除这些错误。 :)