我无法从“添加到购物车”提交数据。
基本上,我具有此功能/,这可以防止用户在不填写/的情况下购买产品:
$( 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();
}
但这仅刷新页面,而没有实际将产品添加到购物车中。之后,我只需要提交数据即可。
提前谢谢!
答案 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');
}