Rumah > Soal Jawab > teks badan
Apabila pengguna memasuki halaman, jadual HTML yang mengandungi dua baris akan dijana. Baris pertama ialah tajuk jadual, baris kedua mempunyai kotak input dalam sel pertama, dan sel lain kosong.
Kod Bar | Produk | Jumlah | Harga |
---|---|---|---|
输入框 |
Selepas pengguna memasukkan kod bar dalam kotak input, saya perlukan:
Jadi selepas entri pertama, borang akan kelihatan seperti ini:
Kod Bar | Produk | Jumlah | Harga |
---|---|---|---|
54573498759384 | Seluar | 10 | $99 |
输入框 |
Tunggu...
Saya telah membaca di mana-mana dan membuat kesimpulan bahawa saya mungkin memerlukan AJAX, tetapi saya tidak pernah menggunakannya sebelum ini, jadi sebarang bantuan amat dihargai, hanya untuk bermula, dalam bahasa yang paling mudah.
Saya hanya menggunakan PHP dan Javascript. Saya tidak pernah menggunakan JQuery.
Terima kasih terlebih dahulu.
Saya belum jumpa jalan lagi.
P粉9905682832024-04-02 17:21:57
Hanya tambah panggilan ajax dalam fungsi onBarcodeChange untuk mendapatkan data dari backend
function onBarcodeChange(id) { // ... cal your backend/SQL to get data const mockData = { product: `Product ${id}`, amount: getRandomInt(100), price: getRandomInt(10) } const { product, amount, price } = mockData document.getElementById(`product${id}`).innerText = product document.getElementById(`amount${id}`).innerText = amount document.getElementById(`price${id}`).innerText = price addTableRow(id + 1) } function addTableRow(id) { const barcodeInput = document.createElement('input') barcodeInput.placeholder = "Enter barcode" barcodeInput.onchange = () => onBarcodeChange(id) // create 4 cells const cellNames = ['barcode', 'product', 'amount', 'price'] const cells = cellNames.map(name => { const cell = document.createElement('td') cell.id = `${name}${id}` return cell }) // add input to the 1st cell cells[0].appendChild(barcodeInput) const row = document.createElement('tr') cells.forEach(cell => row.appendChild(cell)) const table = document.getElementById('products') table.appendChild(row) barcodeInput.focus() } function getRandomInt(max) { const min = 1 return Math.floor(Math.random() * (max - min) + min); }
table { font-family: arial, sans-serif; border-collapse: collapse; width: 100%; } td, th { border: 1px solid #dddddd; text-align: left; padding: 8px; }
barcode | product | amount | price |
---|---|---|---|