jQuery: formulaire de sérialiser, les champs cachés, et pas de champs affichés
Je suis en utilisant $(this).serialize()
lors de la soumission d'un formulaire.
Il fonctionne bien, sauf dans les moments où j' (pour quelque raison) avoir 2 champs avec le même nom (l'un visible, et l'autre pas, et je ne parle pas type="visible"
mais display:none
)...
Mais bien sûr serialize
n'a aucun respect pour cela... il faut juste tous.
J'ai essayé ce
var $disabled_list = $(this).find('input:hidden,select:hidden,textarea:hidden').attr('disabled', 'disabled');
$(this).serialize();
$disabled_list.attr('disabled','');
et C'est la résolution de mon problème, à l'exception de l' :hidden sélecteur, aussi, prend type="hidden"
quelle est la bonne manière?
OriginalL'auteur DS_web_developer | 2012-02-21
Vous devez vous connecter pour publier un commentaire.
Vous n'avez pas à appeler
serialize()
sur le<form>
lui-même, vous pouvez faire correspondre certains de ses contrôles et de l'appeler sur le jeu. Cela vous permet d'éviter de bricoler avecdisabled
attributs.Puisque vous voulez des contrôles correspondant
:hidden
seulement si elles aussi exposer lehidden
type, vous pouvez utiliser le sélecteur suivant:OriginalL'auteur Frédéric Hamidi
Vous pouvez utiliser $form.find(':visible").serialize()
OriginalL'auteur Thiago Natanael
essayé de cette manière et il semble fonctionner
OriginalL'auteur DS_web_developer