10
votes

Vérifiez si l'entrée est une zone de texte, sélectionnez, Texarea ou Radio

J'ai un formulaire avec différents champs d'entrée HTML ... xxx

Comment puis-je pouvoir déterminer quel type de champ de saisie utilise JQuery. par exemple: si je voulais faire un chèque pour voir si INPUT = "SELECT", alors faites des trucs.


2 commentaires

Je pense que vous pouvez utiliser chacun () pour boucler votre formulaire et faire quelques conditions à l'intérieur.


Ya je fais cela, mais j'ai besoin de vérifier quel type d'entrée il est ou si SELECT ou Radio ou Textarea


7 Réponses :


1
votes

pour 1, 3, 4: xxx


3 commentaires

Cela me donne un indéfini pour une option de sélection


Sélectionner et la zone de texte ne sont pas des types d'entrée, ils sont autonomes éléments DOM.


Vous devrez peut-être utiliser .prop ('type') pour obtenir une valeur - semble JQ séparant l'utilisation de ATT () vs Prop ()




1
votes
var tipo = $('#elemento14').attr('type');

1 commentaires

var tipo = $ ('# elemento14'). Prop ("type"); JQ donne le type avec accessoire (), mais "non défini" avec attr (). JQ semble être abandonné.).



20
votes
$('input, textarea, select').change(function(event){
   alert(event.target.type)
})

3 commentaires

Bien qu'il s'agisse de la bonne façon de sélectionner des champs de formulaire spécifiques, je pense que l'OP veut Test si un élément est un champ spécifique; ne pas le sélectionner.


+1 maintenant. La meilleure réponse car elle renvoie le type d'objet; sans la comparaison requise par .is ().


La réponse de Sebastian ci-dessous rend le type d'entrée A $ Élément est (bien que vous devez maintenant utiliser .prop ("type") au lieu de .attr ("type") .



14
votes

Vous pouvez utiliser JQuery's .is (). Par exemple xxx

plus info ici


0 commentaires

1
votes

Vous pouvez le faire en écrivant un sélecteur qui retirera chacun de ces éléments, puis vous pouvez le parcourir et vérifier le type. Quelque chose comme ceci: xxx


0 commentaires

2
votes

Vous pouvez faire boucle à travers tous les éléments de formulaire en utilisant : entrée code> comme sélecteur. Étant donné que SELECT CODE> et TEXAREA CODE> Éléments ne possède pas d'attribut code> type code>, vous souhaitez utiliser .is () code>

   $(':input').each(function(){
       if($(this).is('select')){
          var inputType = 'select';
       }else if($(this).is('input:text')){
          var inputType = 'text';
       }else if($(this).is('input:checkbox')){
          var inputType = 'checkbox';
       }
       console.log('input type = '+inputType+');
    });


0 commentaires