Untitled
unknown
plain_text
2 years ago
5.5 kB
5
Indexable
<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8" /> <meta name="viewport" content="width=device-width, initial-scale=1" /> <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha1/dist/css/bootstrap.min.css" rel="stylesheet" /> <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.10.3/font/bootstrap-icons.css" /> <link href="https://getbootstrap.com/docs/5.3/assets/css/docs.css" rel="stylesheet" /> <title>Bootstrap Example</title> <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha1/dist/js/bootstrap.bundle.min.js"></script> </head> <body class="p-3 m-0 border-0 bd-example"> <!-- Example Code --> <div class="accordion" id="accordionExample"> <div class="accordion-item"> <h2 class="accordion-header" id="headingOne"> <button class="accordion-button" type="button" data-bs-toggle="collapse" data-bs-target="#collapseOne" aria-expanded="true" aria-controls="collapseOne"> Accordion Item #1 <!-- <i class="bi bi-trash"></i> --> </button> </h2> <div id="collapseOne" class="accordion-collapse collapse show" aria-labelledby="headingOne" data-bs-parent="#accordionExample"> <div class="accordion-body"> <form id="my-form"> <label for="name">Name:</label> <input type="text" name="name" id="name1" /> <label for="name">Name:</label> <input type="text" name="name" id="name2" /> <label for="name">Name:</label> <input type="text" name="name" id="name3" /> <label for="surname1">Surname 1:</label> <input type="text" name="surname[]" id="surname1" /> <label for="surname2">Surname 2:</label> <input type="text" name="surname[]" id="surname2" /> <label for="surname3">Surname 3:</label> <input type="text" name="surname[]" id="surname3" /> <label for="email">Email:</label> <input type="email" name="email" id="email" /> <button type="submit">Submit</button> </form> <!-- Bu HTML elemanları form verilerini içerecek --> <div id="form-data"></div> </div> </div> </div> <div id="form-data"></div> <script> // form elemanına referans al const form = document.querySelector('#my-form'); // form submit olayına bir olay dinleyicisi ekleyin form.addEventListener('submit', (e) => { e.preventDefault(); // formun varsayılan davranışını durdur // form elemanlarını FormData objesi içine doldurun const formData = new FormData(form); // form verilerini tutmak için bir nesne oluşturun const data = {}; // FormData objesindeki tüm girdileri döngüye sokun ve "data" nesnesine eşleyin for (const [key, value] of formData.entries()) { if (data[key]) { data[key].push(value); } else { data[key] = [value]; } } // verileri HTML formatına dönüştürmek için bir fonksiyon tanımlayın const toHtml = (key, value) => { let html = ''; if (value.length > 1) { html += `<h3>${key}</h3>`; html += '<ul>'; value.forEach((v) => { html += `<li>${v}</li>`; }); html += '</ul>'; } else { html += `<h3>${key}: ${value[0]}</h3>`; } return html; }; // form verilerini HTML formatına dönüştürün ve "form-data" elemanına yerleştirin const formDataElem = document.querySelector('#form-data'); formDataElem.innerHTML = ''; Object.entries(data).forEach(([key, value]) => { const html = toHtml(key, value); formDataElem.insertAdjacentHTML('beforeend', html); }); }); const buttons = document.querySelectorAll('.accordion-button'); buttons.forEach(button => { button.insertAdjacentHTML('beforeend', '<i class="bi bi-trash position-absolute" style="right:50!important;"></i>'); }); const deleteIcons = document.querySelectorAll('.bi-trash'); deleteIcons.forEach(icon => { icon.addEventListener('click', () => { const accordionItem = icon.closest('.accordion-item'); accordionItem.remove(); }); }); </script> <!-- End Example Code --> </body> </html>
Editor is loading...