Попытка настроить некоторую проверку для кнопки «Добавить в корзину» для выбора выпадающего списка для размера и цвета на полках моей простой тележки на моем WordPress-сайте. Я могу получить предупреждение, чтобы выскочить и заблокировать добавление элемента, но это неправильно, потому что предупреждение появляется даже при выбранных правильных значениях. Я искал это уже несколько дней и нашел пару человек, которые задают один и тот же вопрос без ответа, поэтому любая информация о том, как и если это возможно, будет удивительной.
Вот функция добавления в корзину:
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;
}
Теперь я новичок, когда дело доходит до этого, так что я даже не уверен, где он хранит значения, так что это может быть любое имя переменной настройки, а код может быть совершенно неправильным, но ни одно из них не является значением опции выбора по умолчанию.
Вот как он загружает и сохраняет куки:
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 хранит переменные. ПОЖАЛУЙСТА, ПОМОГИТЕ !!
Спасибо за ваше время и усилия.