Ajax 将表单的一部分提交给单独的操作

Ajax 将表单的一部分提交给单独的操作,ajax,forms,Ajax,Forms,在我的网上商店购物车中,我希望有一个复选框,允许人们选择我的时事通讯。但是新闻稿的电子邮件地址需要提交到一个单独的表单操作,而不是购物车操作 我是否可以将表单的一部分提交到另一个操作,但仍然提交到购物车表单操作,并在购物车操作将带我去的任何地方进行渲染?您可以使用jquery发布数据: 第一个ajax调用将提交到您的购物车操作: function SubmitCart() { $.ajax({ type: 'POST', url: 'cart action

在我的网上商店购物车中,我希望有一个复选框,允许人们选择我的时事通讯。但是新闻稿的电子邮件地址需要提交到一个单独的表单操作,而不是购物车操作


我是否可以将表单的一部分提交到另一个操作,但仍然提交到购物车表单操作,并在购物车操作将带我去的任何地方进行渲染?

您可以使用jquery发布数据:

第一个ajax调用将提交到您的购物车操作:

function SubmitCart()
{
    $.ajax({
        type: 'POST',
        url: 'cart action url',
        data: { data1: $('#data1').val(), data2: $('#data2').val(), data3: $('#data3').val() },
        dataType: 'json',
        complete: function(XMLHttpRequest, textStatus) {
             // Action completed.
        }
    });
}
此处的其他内容将提交给您的新闻稿行动:

function SubmitNewsletter()
{
    $.ajax({
        type: 'POST',
        url: 'newsletter action url',
        data: { email: $('#email_fields').val() },
        dataType: 'json',
        complete: function(XMLHttpRequest, textStatus) {
             // Action completed.
        }
    });
}
现在,您将在某处有一个提交按钮:

<input type="button" id="sumit_all" name="sumit_all" value="send" />
<input type="checkbox" id="subscribeNewsletter" name="subscribeNewsletter" />

…你在用MVC,看起来?!这看起来很好,很简单。那么购物车表单还会执行它的提交吗?这是一个ajax提交。您可以决定将哪个字段添加到提交过程中。你没有真正的回帖,是的。我明白。但我希望购物车仍然处理表单的其余部分,并将它们带到结账过程的下一步。我如何在表单中正确地实现这一点?谢谢@马克:这更像是一个哲学问题。为什么你不能用一种形式来决定该做什么?也许创建一个调用这两个方法的新操作?我将用另一个选项来扩展我的答案。我将使用上面的内容。我想那会很管用的。购物车表单是由WP电子商务生成的,所以我不想把它的功能搞得一团糟。我想这可以完成任务,而不需要我做很多改变。谢谢
$("sumit_all").click(function() {
   SubmitCart();
   if ($('#subscribeNewsletter').is(':checked'))
   {
      SubmitNewsletter();
   }
});