我已经删除了我的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