0
我已經爲產品詳細信息(productId,name,quantityonhand)創建了一個Web存儲並從服務器向其中填充記錄。我必須驗證所需數量是否可用於接受訂單。HTML5順序執行
對於網絡存儲中可用的每種產品以及相應的文本輸入字段,Product窗體都有複選框(帶有name =「product」)來接受所需的數量。
驗證方法定義如下。
function productValidation(){
for(i=0;i<document.Products.product.length;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<results.rows.length; 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