我已经为产品详细信息(productId,name,quantityonhand)创建了一个Web存储并从服务器向其中填充记录。我必须验证所需数量是否可用于接受订单。HTML5顺序执行
对于网络存储中可用的每种产品以及相应的文本输入字段,Product窗体都有复选框(带有name =“product”)来接受所需的数量。
验证方法定义如下。
function productValidation(){
for(i=0;i
// checking whether the product has been checked/choosen
if (document.Products.product[i].checked==true){
var productId = document.Products.product[i].value;
var qty = document.Products.p[i].value;
var db = systemDB;
// validating the available quantity
db.transaction(
function(transaction){
transaction.executeSql('select * from product where productId=?;',
[productId],
function(transaction, results){
for (var j=0; j
var row = results.rows.item(j);
if (qty>row['qoh']){
alert(
row['productname']
+ ' is out of stock. We can serve you only '
+ row['qoh'] + ' quantities currently!');
document.Products.product[i].checked = false;
document.Products.p[i].value = 0;
}
}
});
}
);
}
}
return false;
}
当执行,因为db.transaction的异步特性的验证码,是越来越执行外环和验证只发生在过去的产品choosen。
帮我解决这个问题。我希望执行顺序发生。
Yuvi
2010-08-18
Yuvi