Javascript/JQuery:在表单提交时,不要重新加载整页(只有div),仍然提交表单数据

kdj*_*gan 0 javascript jquery

我在链接上使用了以下代码.这可以防止页面重新加载并从div中的href标记加载内容.

  $("a[rel='right']").click(function(e){
    e.preventDefault();
    pageurl = $(this).attr('href');
    $.ajax({url:pageurl.replace('index.php', 'rightcolumn.php')+'&rel=right',success: function(data){
      $('#WMS_NEW_right').fadeOut(500, function(){ $('#WMS_NEW_right').html(data).fadeIn(1000); }); 
    }
    });  
    if(pageurl!=window.location){
      window.history.pushState({path:pageurl},'',pageurl);
    }
    return false;
  });
});
Run Code Online (Sandbox Code Playgroud)

我的问题:我需要使用相同的概念,除了表单提交,它不需要重新加载页面,但只在div中提交表单#WMS_NEW_right.我怎样才能做到这一点?我不需要push状态或任何东西,只需要能够控制该表单,class="formrelright"只需重新加载div并从表单操作中获取url.我还需要method="POST"新页面上的表格中的所有数据(div内)

小智 5

根据我的理解,您希望使用ajax发布表单而不在表单提交期间重新加载页面.所以我会考虑以下几点:

$('.formrelright').submit(function(event) {
    event.preventDefault();

    $.ajax({
        url: url,
        type: 'POST',
        data: $(this).serialize(),
        success: function(data) {
            // Whatever you want
        }
    });
});
Run Code Online (Sandbox Code Playgroud)