Edit: Comme indiqué dans les commentaires ( Mario Awad & Brock Hensley ), utilisez .find
pour obtenir les enfants
$("form").each(function(){
$(this).find(':input') //<-- Should return all input elements in that specific form.
});
Les formulaires ont également une collection d'éléments, parfois cela diffère des enfants, par exemple lorsque la balise de formulaire est dans une table et n'est pas fermée.
var summary = [];
$('form').each(function () {
summary.push('Form ' + this.id + ' has ' + $(this).find(':input').length + ' child(ren).');
summary.push('Form ' + this.id + ' has ' + this.elements.length + ' form element(s).');
});
$('#results').html(summary.join('<br />'));
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<form id="A" style="display: none;">
<input type="text" />
<button>Submit</button>
</form>
<form id="B" style="display: none;">
<select><option>A</option></select>
<button>Submit</button>
</form>
<table bgcolor="white" cellpadding="12" border="1" style="display: none;">
<tr><td colspan="2"><center><h1><i><b>Login
Area</b></i></h1></center></td></tr>
<tr><td><h1><i><b>UserID:</b></i></h1></td><td><form id="login" name="login" method="post"><input
name="id" type="text"></td></tr>
<tr><td><h1><i><b>Password:</b></i></h1></td><td><input name="pass"
type="password"></td></tr>
<tr><td><center><input type="button" value="Login"
onClick="pasuser(this.form)"></center></td><td><center><br /><input
type="Reset"></form></td></tr></table></center>
<div id="results"></div>
Peut-être : le sélecteur d' entrée est ce que vous voulez
$ ("form"). each (function () {$ (': input', this) // <- Doit retourner tous les éléments d'entrée dans cette forme spécifique.});
Comme indiqué dans la documentation
Pour obtenir les meilleures performances lors de l'utilisation de: input pour sélectionner des éléments, sélectionnez d'abord les éléments en utilisant un pur sélecteur CSS, puis utilisez .filter (": input").
Vous pouvez utiliser comme ci-dessous,
$("form").each(function(){
$(this).filter(':input') //<-- Should return all input elements in that specific form.
});
Selvakumar Arumugam
la source
select
? EDIT: tant pis, fonctionne avec sélectionnez si j'utilisefind(':input')
Le code ci-dessous permet d'obtenir les détails des éléments du formulaire spécifique avec l'identifiant du formulaire,
Le code ci-dessous permet d'obtenir les détails des éléments de tous les formulaires qui sont placés dans la page de chargement,
Le code ci-dessous permet d'obtenir les détails des éléments qui sont placés dans la page de chargement même lorsque l'élément n'est pas placé à l'intérieur de la balise,
REMARQUE: nous ajoutons le nom de balise d'élément supplémentaire dont nous avons besoin dans la liste d'objets comme ci-dessous,
la source
Si vous disposez de types supplémentaires, modifiez le sélecteur:
Tous les éléments de formulaire sont maintenant dans le tableau formElements.
la source
Pour mémoire : l'extrait de code suivant peut vous aider à obtenir des détails sur l'entrée, la zone de texte, la sélection, le bouton, les balises via un titre temporaire lorsque vous les survolez.
la source
jQuery conserve une référence à l'élément de formulaire JS vanilla, qui contient une référence à tous les éléments enfants du formulaire. Vous pouvez simplement saisir la référence et avancer:
la source
La fonction de sérialisation de JQuery facilite l'obtention de tous les éléments du formulaire.
Démo: http://jsfiddle.net/55xnJ/2/
la source
C'est ma fonction préférée et cela fonctionne comme un charme pour moi!
Il renvoie un objet avec tout pour les données d'entrée, de sélection et de zone de texte.
Et il essaie d'obtenir le nom des objets en recherchant les éléments name else Id else class.
Fonction:
la source
Tous les éléments, y compris le bouton d'envoi, sont maintenant dans la variable $ form_elements.
la source
Juste pour ajouter une autre manière:
la source
Essayez cette fonction
Et utilisez-le comme
Prendre plaisir :)
la source
Essayez quelque chose comme ceci:
la source
toutes les entrées:
tous les boutons
la source