Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    resettare un form dopo l'invio, con jQuery

    Ciao...


    chi mi da una dritta?

    ho un form giocato con jquery...
    codice:
    $("#sendEmail li.buttons").append('[img]loading.gif[/img]');
    
    $.post("/myscript/sendemail.php",
    	{ emailTo: emailToVal, emailFrom: emailFromVal, subject: subjectVal, message: messageVal },
    		function(data){
    			$("#loading").slideUp("normal", function() {				   
    				
    				$("#sendEmail").after('<h1>Success</h1>
    
    Your email was sent.</p>');											
    			});
    		}
    	 );
    mi spedisce i dati inseriti in form id="sendEmail"
    poi mi cancella la giffettina animata e mi fa comparire un feedback positivo...

    naturalmente il form mi rimane compilato...

    come faccio a farlo resettare per poter spedire un nuovo messaggio?
    in automatico oppure al click sul messaggio di feedback, non importa...

    ho provato a pulire i campi via jquery ma poi mi ritrovo ancora i valori al secondo invio...

    sto cercando di far ricaricare il form subito dopo la comparsa del feedback...
    ma non ci riesco...

    insomma come la fareste voi una cosa del genere?

    codice:
    $("#sendEmail").RELOAD;
    oppure
    $("#sendEmail").RESET;
    grazie in anticipo
    :master:
    O saisons, ô châteaux,
    Quelle âme est sans défauts?

    Rimbaud - L'Éternité (1872)

    EsseZeta - VisualWriting | www.essezeta.org

  2. #2
    o li pulisci uno a uno oppure prova ad usare lo splendito jQuery ajax form, che ha un metodo predefinito clearForm()
    Davide

  3. #3
    Grazie Nerlaleph,
    avevo trovato quel plugin, ma non sono riuscito ad utilizzarlo...


    Ecco comunque come ho risolto:

    parto "ajaxizzando" un form via jquery...
    fonte

    dopo aver ottenuto il feedback resetto i campi del form selezionandoli all'interno di un certo fieldset, per evitare di cancellare eventuali campi nascosti necessari...
    da qui

    codice:
    function clear_form_elements(ele) {
    
    $(ele).find(':input').each(function() {
    switch(this.type) {
    case 'text':
    case 'textarea':
    $(this).val('');
    break;
    }
    });
    
    };
    il feedback glielo carico via jquery, in modo da poterlo poi ricaricare senza ottenere duplicati, perché lo riscrivo ogni volta con questa soluzione che scrive e riscrive il contenuto di un div via jquery...
    da qui

    codice:
    function loadContent(id) {
    $("#feedback").load("feedback.php?o="+id+"");
    };
    Se dovesse interessare a qualcuno ecco una demo...

    Sarà sicuramente troppo macchinosa come soluzione...
    Esperti che sappiano indicare dove?
    Qualche consiglio per migliorarla?

    buona giornata a tutti
    O saisons, ô châteaux,
    Quelle âme est sans défauts?

    Rimbaud - L'Éternité (1872)

    EsseZeta - VisualWriting | www.essezeta.org

  4. #4
    bah, io mi sono trovato molto bene con ajaxForm anche se anche io ho avuto qualche piccola difficoltà iniziale. Ma quando so parla di jquery + form la risposta è quel plugin (che per intenderci ha tra gli autori John Resig == autore di jQuery). Ti assicuro che vale la pena spenderci del tempo sopra!
    Ma se il tuo codice funziona, avanti così allora.
    Happy coding!
    Davide

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.