需要使用jQuery提交添加到购物车表单/不使用AJAX /

时间:2019-02-04 12:26:40

标签: javascript jquery woocommerce

我无法从“添加到购物车”提交数据。

基本上,我具有此功能/,这可以防止用户在不填写/的情况下购买产品:

$( document ).on( 'click', '.single_add_to_cart_button', function(e) {
            e.preventDefault();
        var productID = $(".single-product-page").attr('id');
        var productIDstr = productID.replace(/product-/g,'');
        console.log(productIDstr);
        if($("#tmcp_textfield_1").val() == "" || $("#tmcp_textfield_2").val() == "" || $("#tmcp_textfield_3").val() == "" || $("#tmcp_textfield_4").val() == "" ||
        $("#tmcp_textfield_5").val() == "" || $("#tmcp_textfield_6").val() == "" || $("#tmcp_textfield_7").val() == "" || $("#tmcp_textfield_8").val() == "" ||
        $("#tmcp_textfield_10").val() == "" || $("#tmcp_textfield_11").val() == "" || $("#tmcp_textfield_12").val() == "" ||
        $("#tmcp_textfield_13").val() == "" || $("#tmcp_textarea_14").val() == "" || $('#tmcp_choice_14_0_15').prop('checked') != true ) {
            $('.tm-section-link')[0].click();

        }

在完成所有这些操作后,我放了:

   else {    
            $('form.cart').submit();
        }

但这仅刷新页面,而没有实际将产品添加到购物车中。之后,我只需要提交数据即可。

提前谢谢!

2 个答案:

答案 0 :(得分:0)

例如,您应该在发送表单之前向表单添加隐藏的输入。

    $('<input>').attr({
    type: 'hidden',
    id: 'foo',
    name: 'bar'
}).appendTo('form');

但这是唯一的例子。您需要使其适合现有代码

答案 1 :(得分:0)

您可以使用

.trigger('click');

注意:

您的代码说如果所有这些字段都为空,则触发点击。如果您希望在这些字段为空时不提交,则可以将其更改为!=而不是==

$( document ).on( 'click', '.single_add_to_cart_button', function(e) {
  e.preventDefault();
  var $addToCartButton = $(this);
  var productID = $(".single-product-page").attr('id');
  var productIDstr = productID.replace(/product-/g,'');

  if($("#tmcp_textfield_1").val() == "" || $("#tmcp_textfield_2").val() == "" || $("#tmcp_textfield_3").val() == "" || $("#tmcp_textfield_4").val() == "" ||
     $("#tmcp_textfield_5").val() == "" || $("#tmcp_textfield_6").val() == "" || $("#tmcp_textfield_7").val() == "" || $("#tmcp_textfield_8").val() == "" ||
     $("#tmcp_textfield_10").val() == "" || $("#tmcp_textfield_11").val() == "" || $("#tmcp_textfield_12").val() == "" ||
     $("#tmcp_textfield_13").val() == "" || $("#tmcp_textarea_14").val() == "" || $('#tmcp_choice_14_0_15').prop('checked') != true ) {
            $addToCartButton.trigger('click');

  }