Cum se curăță un formular într-o aplicație web?
sobes.tech AI
Răspuns de la AI
Ștergerea câmpurilor formularului poate fi realizată în mai multe moduri, în funcție de context:
-
Resetarea formularului cu un buton de tip
reset: Utilizarea unui buton cutype="reset"într-un formular HTML resetează automat toate elementele formularului la valorile lor inițiale.<form id="myForm"> <input type="text" name="username" value="Valoare inițială"> <input type="email" name="email"> <button type="reset">Șterge</button> </form> -
Resetarea programatică a formularului cu JavaScript: Poți apela metoda
reset()pe elementul DOM al formularului.const form = document.getElementById('myForm'); form.reset(); // Resetează formularul la valorile inițiale -
Ștergerea manuală a fiecărui câmp de formular cu JavaScript: Iterarea prin câmpurile formularului și setarea valorilor lor la un șir gol sau altă valoare inițială.
const form = document.getElementById('myForm'); const inputs = form.querySelectorAll('input, textarea, select'); inputs.forEach(input => { const type = input.type; const tagName = input.tagName.toLowerCase(); // Determinarea tipului de câmp și ștergerea corespunzătoare if (type === 'text' || type === 'email' || type === 'password' || type === 'tel' || tagName === 'textarea') { input.value = ''; } else if (type === 'checkbox' || type === 'radio') { input.checked = false; } else if (tagName === 'select') { input.selectedIndex = -1; // sau setarea la indexul opțiunii implicite } // Logica suplimentară pentru alte tipuri de inputuri dacă este necesar }); -
Ștergerea câmpurilor formularului în framework-uri (de exemplu, React, Vue): În framework-uri unde starea formularului este gestionată de componente, ștergerea se realizează prin actualizarea stării.
-
React (cu utilizarea stării):
import React, { useState } from 'react'; function MyForm() { const [formData, setFormData] = useState({ username: '', email: '' }); const handleChange = (e) => { const { name, value } = e.target; setFormData({ ...formData, [name]: value }); }; const handleSubmit = (e) => { e.preventDefault(); // Trimiterea datelor console.log(formData); // Ștergerea formularului setFormData({ username: '', email: '' }); }; return ( <form onSubmit={handleSubmit}> <input type="text" name="username" value={formData.username} onChange={handleChange} /> <input type="email" name="email" value={formData.email} onChange={handleChange} /> <button type="submit">Trimite</button> <button type="button" onClick={() => setFormData({ username: '', email: '' })}>Șterge</button> </form> ); } -
Vue (cu
v-model):<template> <form @submit.prevent="handleSubmit"> <input type="text" v-model="formData.username"> <input type="email" v-model="formData.email"> <button type="submit">Trimite</button> <button type="button" @click="clearForm">Șterge</button> </form> </template> <script> export default { data() { return { formData: { username: '', email: '' // ... alte câmpuri } }; }, methods: { handleSubmit() { // Trimiterea datelor console.log(this.formData); this.clearForm(); // Ștergerea după trimitere }, clearForm() { this.formData.username = ''; this.formData.email = ''; // ... resetarea altor câmpuri } } }; </script>
-
Alegerea metodei depinde de structura aplicației, tehnologiile utilizate și cerințele funcționale. Cele mai simple sunt HTML reset și JavaScript form.reset(). În aplicațiile mai complexe, cu gestionarea stării prin framework-uri, ștergerea prin actualizarea stării este practica standard.