您的位置:首页 > Web前端 > JavaScript

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

2015-10-08 00:00 701 查看
$(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();
}
});
});
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  javascript DWR jQuery