خديجة الفيفي نشر 12 فبراير أرسل تقرير نشر 12 فبراير let title = document.getElementById('title'); let price = document.getElementById('price'); let taxes = document.getElementById('taxes'); let ads = document.getElementById('ads'); let discount = document.getElementById('discount'); let total = document.getElementById('total'); let count = document.getElementById('count'); let category = document.getElementById('category'); let submit = document.getElementById('submit'); function getTotal() { if (price.value != '') { let result = (+price.value + +taxes.value + +ads.value) - +discount.value; total.innerHTML = result; total.style.background = '#040'; } else { total.innerHTML = ''; total.style.background = '#a00'; } } function updataData() { } let dataPro; if (localStorage.product != null) { dataPro = JSON.parse(localStorage.product) } else { dataPro = []; } submit.onclick = function () { let newPro = { title: title.value, price: price.value, taxes: taxes.value, ads: ads.value, discount: discount.value, total: total.innerHTML, count: count.value, category: category.value, } dataPro.push(newPro); localStorage.setItem('product', JSON.stringify(dataPro)) clearData() showData() } function clearData() { title.value = ''; price.value = ''; taxes.value = ''; ads.value = ''; discount.value = ''; total.innerHTML = ''; count.value = ''; category.value = ''; } function showData() { let table = ''; for (let i = 0; i < dataPro.length; i++) { table += ` <tr> <td>${i}</td> <td>${dataPro[i].title}</td> <td>${dataPro[i].price}</td> <td>${dataPro[i].taxes}</td> <td>${dataPro[i].ads}</td> <td>${dataPro[i].discount}</td> <td>${dataPro[i].category}</td> <td>${dataPro[i].total}</td> <td><button id="updat">update</button></td> <td><button onclick="deleteData(${i})" id="delete" onclick="deleteData(i)">delete</button></td> </tr> ` console.log(table) } document.getElementById('tbody').innerHTML = table; let btnDelete = document.getElementById('deleteAll'); if (dataPro.length > 0) { btnDelete.innerHTML = <button onclick="deletAll()"> delete All</button> } else { btnDelete.innerHTML = ''; } } howData() function deleteData(i) { console.log(i) } function deletAll() { localStorage.clear() dataPro.splice(0) showData() } jj.jsstyle.css index.html 2 اقتباس
0 محمد عاطف25 نشر 12 فبراير أرسل تقرير نشر 12 فبراير يوجد لديكِ بعض الأخطاء في ملف index.html و jj.js . أولا في ملف index.html في سطر 60 لقد كتبتِ كلمة di ولكن الصحيح هو id هكذا : <tbody id="tbody"> أما في ملف jj.js يوجد خطأين . في سطر 100 هنا : بتاريخ 13 دقائق مضت قال خديجة الفيفي: <button onclick="deletAll()"> delete All</button> يجب وضع هذا السطر بين علامتي إقتباس لأنه لا يمكن كتابة كود html في ملف js هكذا : `<button onclick="deletAll()"> delete All</button>` وفي سطر 105 كتبتي howData ولكن الدالة الصحيحة هي showData : showData() الآن سيعمل كل شئ بشكل صحيح. index.html jj.js اقتباس
0 عبد الوهاب بومعراف نشر 12 فبراير أرسل تقرير نشر 12 فبراير السلام عليكم ورحمة الله، في ملف jj.js في السطر howData() لديك خطأ إملائي في اسم الدالة فقد كتبت howData() بدلا من showData() مما يسبب خطأ لأن الدالة غير موجودة أصلا لذا قم باستبدالها ب: showData() وأيضا في السطر: btnDelete.innerHTML = <button...> هنا الكود يحاول وضع HTML مباشرة بدون علامات اقتباس خلفية أو ما يعرف ب (template literals) مما سيسبب syntax error لذا استبدل: btnDelete.innerHTML = <button onclick="deletAll()"> delete All</button> btnDelete.innerHTML = `<button onclick="deletAll()">delete All</button>` وأيضا هنا في دالة deleteData(i) الدالة هنا فارغة ولا تفعل شيء سوى طباعة الرقم في console بينما المفترض أن تحذف العنصر من المصفوفة و localStorage وتحدث الجدول أي بدلا من: function deleteData(i) { console.log(i) } يمكنك تعديلها كالتالي: function deleteData(i) { dataPro.splice(i, 1); localStorage.setItem('product', JSON.stringify(dataPro)); showData(); } وأما في ملف index.html في السطر: <tbody di="tbody"> لديك خطأ إملائي في الخاصية فقد كتبت di بدلا من id مما يجعل JavaScript لا يستطيع العثور على العنصر عند استخدام: document.getElementById('tbody') أي بدلا من: <tbody di="tbody"> عدله ليصبح: <tbody id="tbody"> اقتباس
السؤال
خديجة الفيفي
jj.jsstyle.css
index.html
2 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.