关于javascript基于DWR调用java函数的传值问题

$(function() {

            $("#sub").click(function(e) {

                var re = /^[1-9]+[0-9]*]*$/;//正整数正则表达式

                if ($("#count").val() == "" || !re.test($("#count").val())) {

                    $("#info").text("请输入合理数量").css("color", "#FF3333");

                    e.preventDefault();
                } else{
                
                 var productCount = 0;

                    // 获得产品库存
                    ProductService.getStockBalance($("#productId").val(),
                            function(data) {

                                productCount = data;                //productCount有值
                            });
                            
                            if(productCount < $("#count").val()) {            //productCount的值为空
                                  $("#info").text("已超出该产品的库存量").css("color", "#FF3333");

                    e.preventDefault();
                            }
                            
                     }
            });
        });

上面代码段中,productCount的通过后台函数获得返回值,但是这个值只会在后台函数快内有值,为了解决这个问题,应该将productCount定义为全局变量,才可以使productCount真正被赋值,代码如下:

$(function() {
    
    var productCount = 0;

                    // 获得产品库存
                    ProductService.getStockBalance($("#productId").val(),
                            function(data) {

                                productCount = data;
                            });

            $("#sub").click(function(e) {

                var re = /^[1-9]+[0-9]*]*$/;//正整数正则表达式

                if ($("#count").val() == "" || !re.test($("#count").val())) {

                    $("#info").text("请输入合理数量").css("color", "#FF3333");

                    e.preventDefault();
                } else if(productCount < $("#count").val()) {
                    $("#info").text("已超出该产品的库存量").css("color", "#FF3333");

                    e.preventDefault();
                }
            });
        });


转载于:https://my.oschina.net/ChiLin/blog/514035

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值