Javascript 在onclick事件上动态更改按钮功能

Javascript 在onclick事件上动态更改按钮功能,javascript,jquery,onclick,Javascript,Jquery,Onclick,我想有一个单一的按钮,不必刷新或访问另一个页面就可以完成两个功能。1.首先是添加到购物车按钮,单击该按钮将向购物车添加产品,一旦产品添加到购物车,按钮应为2。更改为从购物车中删除,单击从购物车中删除按钮时,应将项目从购物车中删除,然后再次将按钮更改回添加到购物车 现在我正在使用非常简单的onclick事件按钮 <button class="btn btn-sm btn-inverse btn-embossed" onclick="ajaxSubmit('/add/product/<?

我想有一个单一的按钮,不必刷新或访问另一个页面就可以完成两个功能。1.首先是添加到购物车按钮,单击该按钮将向购物车添加产品,一旦产品添加到购物车,按钮应为2。更改为从购物车中删除,单击从购物车中删除按钮时,应将项目从购物车中删除,然后再次将按钮更改回添加到购物车

现在我正在使用非常简单的onclick事件按钮

<button class="btn btn-sm btn-inverse btn-embossed" onclick="ajaxSubmit('/add/product/<?php echo $productId; ?>/"><span><?php echo $this->__('Add to Cart') ?></span></button>

我建议您将ajax调用从onclick事件中移出,这样就不需要重复长代码。第二,为jQuery访问将当前操作和id等参数添加到
data

$('.product btn')。单击(函数(){
if($(this.attr('data-action')==“add”){
ajaxSubmit('/add/product/'+$(this.attr('data-id')+'/');
$(this.attr('data-action','remove');
$(this.children('span').html('Remove from cart');
}否则{
ajaxSubmit('/remove/product/'+$(this.attr('data-id')+'/');
$(this.attr('data-action','add');
$(this.children('span').html('addtocart');
}
});

你能告诉我们你试过什么吗?最简单的方法是使用两个按钮并隐藏一个按钮。有关如何隐藏按钮的详细信息,请参阅。我认为jQuery导致了冲突,因为我得到了
未捕获类型错误:无法读取null的属性“click”
错误我得到了
未捕获引用错误:未定义ajaxSubmit
错误。
/remove/product/<?php echo $productId ?>/