我有這個 Javascript 代碼,我希望用戶提交只被推送到資料庫,當所有值都被填充時。唯一的問題是,用戶可以輸入新的資料行,并且需要回圈檢查。每次我點擊提交時,無論欄位是否填寫,都會推送資料。并且每次回圈。我已經嘗試移出data.push(assetInfo);括號,它仍然列印提交接受用戶點擊提交的次數。任何幫助,將不勝感激!
$('#submit').click(() =>{
$('form').on('submit', function(e){
e.preventDefault();
//Format all Data into JSON for Submission
let data = [];
// Iterate over all rows and store data
for (let i = 1; i <= count; i ){
// Skip Row if it was Removed
if (!$(`tr[index=${i}]`).length) continue;
// Store all Info from this row
let assetInfo = {
asset_tag_no: $(`#asset_tag_no${i}`).val(),
manufacturer: $(`#manufacturer_serial_no${i}`).val(),
descriptions: $(`#description${i}`).val(),
costs: $(`#cost${i}`).val(),
po_no: $(`#po_no${i}`).val(),
remarks: $(`#remarks${i}`).val(),
}
if (assetInfo.asset_tag_no && assetInfo.manufacturer && assetInfo.descriptions && assetInfo.costs && assetInfo.po_no && assetInfo.remarks != ''){
alert('Submission Accepted');
}
// Add Info to array
data.push(assetInfo);
}
// Upload JSON to Database
console.log(data);
});
});
})
uj5u.com熱心網友回復:
您無需移動push括號外。您需要將其移動到括號內:
if (assetInfo.asset_tag_no && assetInfo.manufacturer && assetInfo.descriptions && assetInfo.costs && assetInfo.po_no && assetInfo.remarks != ''){
alert('Submission Accepted');
// Add Info to array
data.push(assetInfo);
}
編輯
如果你想只推一行,那么你可以替換
if (!$(`tr[index=${i}]`).length) continue;
和
let currentRow = $(`tr[index=${i}]`);
if ((!currentRow.length) || (currentRow.hasClass("submitted"))) continue;
currentRow.addClass("submitted");
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/448318.html
標籤:javascript html jQuery
上一篇:計算作業日Jquery
