sabato 6 giugno 2009

Resettare un form con JQuery

Aggiornato il 21/04/2011


Svuotare i campi input di un form con jQuery
Ho scoperto che resettare un form con jQuery non è una cosa proprio banale, soprattutto se l'intenzione è quella di resettare solo alcuni campi.
Questa funzione però potrebbe esservi di aiuto:

function resetForm(id) {
   $('#' + id + ' :input').each(function(){
      $(this).val('');
   });
}

Sarà sufficiente passare l'id dell'elemento (form o fieldset) che vogliamo resettare e la funzione troverà tutti i campi input al suo interno, cancellando la loro value.


Svuotare tutti i campi di un form, comprese le select, con jQuery.

function resetForm(id) {
   // Lista dei tipi di campi input da resettare
   $(':text, :password, :file', '#'+id).val('');  // Deseleziona checkbox, radio e select
   $(':input,select option', '#'+id).removeAttr('checked').removeAttr('selected');
   // Seleziona il primo valore della select
   $('select option:first', '#'+id).attr('selected',true);
}


Resettare tutti i campi di un form con jQuery


$('#myform')[0].reset();

14 commenti:

Anonimo ha detto...
Questo commento è stato eliminato da un amministratore del blog.
elisa.cucco ha detto...
Questo commento è stato eliminato dall'autore.
Anonimo ha detto...
Questo commento è stato eliminato da un amministratore del blog.
elisa.cucco ha detto...
Questo commento è stato eliminato dall'autore.
paolopaolo ha detto...

ehy elisa,
prova a vedere questo fix da aggiungere al tuo codice...
ciaooo!

http://stackoverflow.com/questions/680241/reset-form-with-jquery

Andrea ha detto...

ahhhhh finalmente uno script che fa la "magia".
Grazie

niubbo ha detto...

Concordo con gli anonimi, personalmente mi sembra piu utile questa soluzione:
http://stackoverflow.com/questions/680241/blank-out-a-form-with-jquery

Anonimo ha detto...

Lo script funziona, in teoria chi programma dovrebbe cercare di imparare/studiare/capire i comandi utilizzati ed eventualmente crearsi delle funzioni adatte ai propri scopi, senza copiare ed incollare ad occhi chiusi.
I forum e blog sono zeppi di gente capace ma che riesce a rendersi irritante e conseguentemente intile per colpa di una saccenza spropositata. Il mio discorso credo che valga sia per anonimi che non... tanto se metto come nome Tizio o Caio cosa cambia?.
Personalmente ho bisogno di preservare hidden e altri valori, quindi utilizzerò delle classi.

Grazie Elisa per la tua disinformazione!

Programmatore ha detto...
Questo commento è stato eliminato da un amministratore del blog.
Luca ha detto...

Può capitare di incontrare codice ed articoli con cui non si sia d'accordo. In questi casi se una persona fosse intelligente commenterebbe civilmente dicenda la propria opinione, facendo notare gli errori e proponendo una soluzione.
Persone come questi "anonimi" che commentano senza essere costruttivi, criticando dando prova della loro ignoranza (sarei prorpio curioso di vedere i loro lavori, sicuramente mi farei un mucchio di risate).

Personalmente ho utilizzato parte del tuo codice adattandolo alle mie esigenze.

Anonimo ha detto...

Personalmente non capisco che senso ha "abbattere" in questo modo questo blog...sono inciampato qui per caso ed ho letto i Vostri commenti e li trovo molto ma molto deludenti e fa capire la vostra pochezza.....
anzichè dire "...fare disinformazione..." proponete una soluzione alternativa come paolopaolo...se poi Voi "commentatori" non leggete e vi piace sparar cazzate...beh cazzi vostri! (evviva i giochi di parole)...
se avete qualcosa da dire
paz@bastardi.net

Saluti
Paz!

aSeptik ha detto...

io personalmente preferisco questa

http://www.learningjquery.com/2007/08/clearing-form-data

cmq ciò non toglie che la maleducazione è una brutta bestia!

Anonimo ha detto...

Mi chiamo Simone,
e pur ammettendo di non aver utilizzato la soluzione proposta in questo post, sono rimasto rammaricato nel vedere certi commenti...
Sono pienamente in accordo con anonimo del 27 Giugno: i blog sono piccole oasi in cui chi non sa fare oppure cerca anche e solo uno spunto puo' tranquillamente provare a cercare quello che gli occorre.
Chi commenta in maniera cosi' distruttiva e basta e' al pari di quei politici che sanno solamente fare critiche ma che in realta' non fanno proposte per migliorare la situazione.

Anonimo ha detto...

Ciao a tutti,
sono allucinato dall'arroganza della gente, e questa cosa si presenta in tutti i campi.
Una ragazza si crea un blog, inserisce quella che è una propria soluzione ad un problema che molti possono avere, magari risolve anche il problema a qualcuno, e siccome non è, probabilmente, la soluzione migliore al problema, deve essere insultata e tacciata di fare disinformazione?!?!?!?!
Ma a volte ci vuole un bel vaffanculo!
Vaffanculo a tutta sta gente inutile, che siccome è capace a programmare ( come milioni di persone a questo mondo) si arroga il diritto di insultare qualcuno che non considera al proprio livello.
Brava Elisa che scrivi quello che pensi, il codice che fai, e di certo non devo venire io a dirti che possono esserci sul web soluzioni più snelle e pulite, lo avrai sicuramente notato da sola.
Un plauso a chi invece ha semplicemente postato un link o un giudizio personale costruttivo.
Scusate lo sfogo, ma oramai sono 10 anni che lavoro come Team Leader a Londra in una Web Agency, e di teste di cazzo ne ho viste in un numero che tende ad infinito. La cosa bella di avere un posto di potere in UK è che se una persona arriva a fare il fenomeno, come qualche coglione che ha commentato qui, lo puoi sbattere fuori in tempo zero. Figata.
E indovinate i primi ad andare fuori dalle balle chi sono? Gli arroganti, a prescindere dal loro livello di preparazione. Tengo molto più volentieri uno volenteroso, umile ma meno preparato, che uno bravo e testa di cazzo.
Quello non preparato può studiare, la testa di cazzo, invece, rimane tale.
Ciao a tutti

Posta un commento