我的Magento商店有可配置的产品,尺寸是必需的选项。当用户未选择尺寸并将产品添加到购物车时,页面将重新加载并显示错误消息“请指定产品选项”。
如果未选择所需的选项,我想通过jQuery向用户提示“这是必填字段”消息并避免整个页面重新加载。
我该如何实现? 谢谢!
P.S。我启用了ajax add-to-cart。
答案 0 :(得分:0)
希望这个帮助
我有2种方法。
添加class="validate-select"
并编辑js / prototype / validation.js以进行自定义提醒(默认为“请选择一个选项。”)
在configurable.phtml(template / catalog / product / view / type / options)内的选择框中添加onChange,如果该选项为null,则禁用该按钮。
//last is used if there is more than 1 option, when you change the first option, you have to select the second option.
function changeBox(value,last) {
if(last == "") {
jQuery('#buttonCart').attr('disabled','disabled');
}
if(value == "") {
jQuery('#buttonCart').attr('disabled','disabled');
} else {
if(last == "") {
jQuery('#buttonCart').attr('disabled','disabled');
} else {
jQuery('#buttonCart').removeAttr('disabled');
}
}
}
<select id="attribute<?php echo $_attribute->getAttributeId() ?>" class="required-entry" onchange="changeBox(this.value,'<?php if ($_attribute->decoratedIsLast){?>last<?php } else { echo ""; }?>')">
<option><?php echo $this->__('Select '.$_attribute->getLabel()) ?></option>
</select>
并且不要忘记在添加到购物车按钮id="buttonCart"
答案 1 :(得分:0)
您可以使用jQuery进行客户端验证。将类提供给下拉列表和按钮单击事件(即单击“添加到购物车”)。您可以使用该下拉菜单的简单验证。
你可以使用这样的东西
jQuery(function($) {
$('#addtocart').on('click',function(e) {
if ($('.myDropdown').val() == '') {
e.preventDefault();
alert("Please select anyone");
}
});
});
此处 #addtocart 是您添加到购物车按钮的ID(可能因您而异), .myDropdown 是您将为您的下拉菜单提供的课程。
希望您对如何操作有所了解。这可能不是确切的代码,但这会以某种方式为您提供进一步的概述。
希望这会有所帮助。