Php simpleCart(js)选择选项验证

Php simpleCart(js)选择选项验证,php,javascript,jquery,validation,Php,Javascript,Jquery,Validation,尝试在“添加到购物车”按钮上为wordpress站点上的simplecart工具架项目的大小和颜色下拉选择设置一些验证。我可以让警报弹出并阻止添加项目,但这是错误的,因为即使选择了正确的值,警报也会弹出。我已经搜索了好几天了,发现有两个人问了同样的问题却没有回答,所以任何关于如何以及是否可能的信息都会令人惊讶 以下是“添加到购物车”功能: me.add = function () { var me=this; /* load cart values if not already

尝试在“添加到购物车”按钮上为wordpress站点上的simplecart工具架项目的大小和颜色下拉选择设置一些验证。我可以让警报弹出并阻止添加项目,但这是错误的,因为即使选择了正确的值,警报也会弹出。我已经搜索了好几天了,发现有两个人问了同样的问题却没有回答,所以任何关于如何以及是否可能的信息都会令人惊讶

以下是“添加到购物车”功能:

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;
    }
现在我是一个noob当谈到这个东西,所以我甚至不知道它在哪里存储的值,所以它可以是任何设置变量名和代码可能是完全错误的,但没有一个是默认选择选项的值

这是它加载和保存cookie的方式:

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代码:

任何帮助都将不胜感激,我曾尝试过其他表单验证技术,但由于simplecart存储变量的方式,我在使用任何用于后期验证的方法时遇到了困难。请帮忙


感谢您花费的时间和精力。

在您试图实现的代码中,您正在为变量item\u size指定none的值。由于这将是真的,弹出窗口将显示。在执行比较时,您希望使用two=

您的代码:

固定的:


乍一看,这应该可以解决问题。祝您好运。

在您试图实现的代码中,您正在为变量item\u size指定none的值。由于这将是真的,弹出窗口将显示。在执行比较时,您希望使用two=

您的代码:

固定的:


乍一看,这应该可以解决问题。祝您好运。

感谢您指出这一点,添加extra=已阻止函数弹出警报,但现在add to cart函数根本不起作用,我尝试将if语句放置在me.add函数和me.checkout函数的不同位置,但运气不佳。任何关于这些代码行应该放在哪里的输入都会很好。@user1282169看起来您的代码应该放在checkQuantityAndPrice函数内的CartItem类中。感谢您指出这一点,添加额外的=已阻止函数弹出警报,但现在“添加到购物车”函数根本不起作用,我尝试将if语句放置在me.add函数和me.checkout函数的不同位置,但没有成功。任何关于这些代码行应该放在哪里的输入都很好。@user1282169看起来您的代码应该放在checkQuantityAndPrice函数中的CartItem类中。
if( item_Size = "none" )
if( item_Size == "none" )