2014-05-12 3 views
0

Live site- http://onetieva.com/#contactEffacer les valeurs de formulaire après la soumission ajax.

Cette forme est programmée avec Ajax & PHP. Après la soumission réussie je veux cacher l'information entrée par utilisateur de la boîte de saisie.

Une idée de comment faire cela.

enter image description here

+2

Dans votre fonction ajax, en cas de succès, les éléments simples cacher. Cela aiderait si vous montriez votre code ajax. – ndugger

+0

Vous souhaitez masquer l'entrée ou l'effacer? – j08691

+0

Je veux l'effacer. – arifix

Répondre

3

Vous pouvez utiliser la fonction reset() pour littéralement reset le formulaire à son état d'origine.

Si vous soumettez le formulaire avec ajax ... peut être fait avec une fonction de rappel, mais je suggère de le faire avec .done() ainsi que fail() fonctions, pour gérer les deux scénarios.

Alors, sera quelque chose comme:

$.post("example_post_page.php", example_form_data) 
    .done(function() { 
     // Looks good 
     // Let the user know with a message and then, clears the form. 
     alert("success"); 
     $('#form-contact')[0].reset(); 
     // -------------------^ Same behavior as <input type="reset" /> element. 
    }) 
    .fail(function() { 
     // Show some warning message 
     // Don't clear the data, so the user don't have to type all over again. 
     alert("error"); 
    }); 

Bien sûr, cela est juste un exemple, peut être amélioré, comme par exemple ... remplacer ces alertes, avecun une boîte modale agréable, ajouter un avertissement classe les champs avec des erreurs, et ainsi de suite ...

Plus d'info: jquery.post

+0

+1 pour 'reset'. Vous pouvez utiliser un DOM complètement natif, 'document.getElementById (" form-contact "). Reset()' :-) Ou '$ (...) .each (function() {this.reset();})' – Bergi

2

Vous pouvez ajouter une classe à toutes vos entrées, comme '.input'. Puis, dans la fonction de succès que vous pouvez utiliser un sélecteur de classe pour effacer toutes les entrées à la fois comme ceci:

$('.input').val('') 

Que vous permettra d'économiser écrire une ligne de code pour chaque entrée. Beaucoup plus propre.

1

Vous voulez effacer les réponses puis sur Supprimer la validation, essayez ce code

var $form = $('#form-contact'); 
$form.find('input, textarea').val(''); 
SimpleForm.clearErrors($form) 
1

Il suffit de mettre une classe commune à tous les champs disent par exemple - clearMe, et dans la section de votre succès ajax simplement mettre $(".clearMe").val("").

Questions connexes