我有一個按鈕,這是我的Magento主題提供的代碼的一部分,並根據日期/時間戳,我沒有不經意地編輯它。我確信它在某些時候起作用,但在上週回顧我的源代碼控制,我似乎無法追查哪裏出了問題。JavaScript將添加項目到購物車壞了
這裏是按鈕HTML:
<button type="button" title="Add to Cart" class="button btn-cart" onclick="productAddToCartForm.submit(this)"><span><span>Add to Cart</span></span></button>
...但是當我點擊它沒有任何反應。似乎相當直截了當,但我看不到,如果/那裏有一個錯字,等等。所以,我檢查螢火蟲,我看到了以下錯誤:
然而,當我進入「查看頁面源代碼」,劇本確實是在頁面:
<script type="text/javascript">
//<![CDATA[
var productAddToCartForm = new VarienForm('product_addtocart_form');
productAddToCartForm.submit = function(button, url) {
if (this.validator.validate()) {
var form = this.form;
var oldUrl = form.action;
if (url) {
form.action = url;
}
var e = null;
try {
this.form.submit();
} catch (e) {
}
this.form.action = oldUrl;
if (e) {
throw e;
}
if (button && button != 'undefined') {
button.disabled = true;
}
}
}.bind(productAddToCartForm);
productAddToCartForm.submitLight = function(button, url){
if(this.validator) {
var nv = Validation.methods;
delete Validation.methods['required-entry'];
delete Validation.methods['validate-one-required'];
delete Validation.methods['validate-one-required-by-name'];
if (this.validator.validate()) {
if (url) {
this.form.action = url;
}
this.form.submit();
}
Object.extend(Validation.methods, nv);
}
}.bind(productAddToCartForm);
//]]>
</script>
請問你的Magento主題使用多個JavaScript庫(例如jQuery和prototype.js中):
在這個特殊的例子在上面我的問題,我通過下列方式使用
noConflict()
解決它?我建議刪除鏈接到jQuery和任何其他插件/腳本,檢查問題是否仍然存在,然後使用jQuery的[noConflict()方法](http://api.jquery.com/jQuery.noConflict/)來避免與prototype.js衝突,如果一切順利的話,再次包含這些腳本。 – Nick 2011-05-24 19:40:48您的腳本在
部分> – Jeff 2011-05-24 19:43:22它不在頭部。它在頁面的中間。 – jefflunt 2011-05-24 20:04:01