Попытка установить некоторую проверку на кнопке «Добавить в корзину» для выпадающего списка для размера и цвета на моих элементах простой подписи на моем сайте Wordpress. Я могу получить предупреждение, чтобы поп и заблокировать добавление элемента, но это неправильно, потому что предупреждение появляется даже при выбранных правильных значениях. Я искал это уже несколько дней и нашел пару человек, задающих один и тот же вопрос без ответа, поэтому любой вклад в том, как и если это возможно, будет потрясающим.simpleCart (js) Выберите опцию Валидация
Вот добавить в корзину функции:
me.add = function() {
var me=this;
/* load cart values if not already loaded */
if(!me.pageIsReady ) {
me.initializeView();
me.update();
}
if(!me.isLoaded ) {
me.load();
me.update();
}
var newItem = new CartItem();
/* check to ensure arguments have been passed in */
if(!arguments || arguments.length === 0){
error('No values passed for item.');
return;
}
var argumentArray = arguments;
if(arguments[0] && typeof(arguments[0]) != 'string' && typeof(arguments[0]) != 'number' ){
argumentArray = arguments[0];
}
newItem.parseValuesFromArray(argumentArray);
newItem.checkQuantityAndPrice();
код Я пытаюсь реализовать:
if(item_Size = "none"){
alert("Please select a size");
return;
}
if(item_Color = "none"){
alert("Please select a color");
return;
}
Теперь я нуб, когда дело доходит до этой вещи так Im даже не уверен, где он сохраняет значения, поэтому это может быть любое имя переменной параметра, и код может быть полностью неправильным, но ни один из них не является значением параметра выбора по умолчанию.
Вот как это загружает и сохраняет куки:
me.load = function() {
var me = this;
/* initialize variables and items array */
me.items = {};
me.total = 0.00;
me.quantity = 0;
/* retrieve item data from cookie */
if(readCookie('simpleCart')){
var data = unescape(readCookie('simpleCart')).split('++');
for(var x=0, xlen=data.length;x<xlen;x++){
var info = data[x].split('||');
var newItem = new CartItem();
if(newItem.parseValuesFromArray(info)){
newItem.checkQuantityAndPrice();
/* store the new item in the cart */
me.items[newItem.id] = newItem;
}
}
}
me.isLoaded = true;
};
/* save cart to cookie */
me.save = function() {
var dataString = "";
for(var item in this.items){
dataString = dataString + "++" + this.items[item].print();
}
createCookie('simpleCart', dataString.substring(2), 30);
};
Полный код simpleCart можно найти здесь: simplecartjs.com
Любая помощь будет принята с благодарностью, я пробовал другие методы проверки формы, но я имею проблемы с использованием чего-либо, предназначенного для проверки почты из-за того, как simplecart хранит переменные. ПОЖАЛУЙСТА ПОМОГИ!!
Благодарим вас за внимание и время.
Благодарим вас за это, добавив, что extra = остановил функцию от появления предупреждения, но теперь функция добавления в корзину вообще не работает, я попытался поместить инструкции if в разные места. добавьте функцию, а также функцию me.checkout без везения. Любой вход, на который должны идти эти строки кода, будет отличным. –
@ user1282169 Похоже, что ваш код должен быть помещен в класс 'CartItem' внутри функции' checkQuantityAndPrice() '. – DondeEstaMiCulo