我已經刪除了我的Magento主題中幾乎所有的.js參考。具體來說,我已將onclick從添加到購物車按鈕中刪除。刪除表單驗證導致表單不提交?
在template/catalog/product/view/addtocart.phtml
我已經刪除onclick="productAddToCartForm.submit(this)
在template/catalog/product/view/view.phtml
我刪除的代碼塊...
<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>
但是,現在當我提交表單我什麼也沒得到。
我想改變添加到購物車<button>
到一個適當的提交。所以我改變了這個....
<button type="button" title="<?php echo $buttonTitle ?>" class="button btn-cart"><span><span><?php echo $buttonTitle ?></span></span></button>
這個...
<input type="submit" value="<?php echo $buttonTitle ?>" />
當我這樣做,表單提交,但我得到一個「找不到網頁」,網址需要我看起來像這樣/checkout/cart/add/uenc/aHR0cDovLzcwLjMyLjc0LjQ2L3J0bF9tYWdlbnRvL2luZGV4LnBocC9jYXRhbG9nL3Byb2R1Y3Qvdmlldy9pZC8xNQ,,/product/15/
是不是不可能在沒有javascript的Magento中以舊式的方式提交表單?如果是這樣,你可以指點一下嗎?我的計劃是連接我自己的jQuery驗證(這很簡單,我只需要驗證qty字段的長度),並消除上面代碼的一些荒謬。
你不覺得當你添加的jQuery到原型加載頁面,當你更換使用jQuery一個(而不是添加需要驗證規則輸入字段類屬性)的原型驗證看起來更加滑稽? – Zyava
不是。我需要2或3行代碼來驗證我需要的而不是30個。另外,網站範圍內我將使用jQuery而不是原型。所以它實際上非常有意義。你瘋了? – jyoseph
並添加到...當我寫我的驗證我實際上** **評論**的代碼。然後,當我在另外6個月內更新它時,我會知道發生了什麼。 – jyoseph