0
votes

Comment restreindre l'utilisateur de ne pas mettre d'espace blanc dans des spécifications classées dans un formulaire ASP.NET en utilisant jQuery

J'ai une forme où je saisie la saisie de l'utilisateur à l'aide de la paire de valeurs de clé. Je ne veux pas que l'utilisateur met des espaces blancs vides dans la clé. J'ai donc créé un id = "nowhite" et essaye d'appliquer une jQuery sur cet identifiant. Voici mon code xxx

xxx

mais cela ne fonctionne que pour ma première clé de périphérique (nom). Voici une capture d'écran. Entrez la description de l'image ici

J'essaie de restreindre les espaces blancs dans le champ Nom des paramètres de périphérique, des gattes de micrologiciels et du modem incluent la liste. Mais ma jQuery ne travaille que pour le premier nom de nom mais pas pour tous.

Comment puis-je limiter l'utilisateur de ne pas mettre d'espaces blancs dans un champ de clé (nom)?


4 commentaires

Vous ne pouvez pas empêcher un utilisateur d'insérer un espace en vérifiant les types de clé. L'utilisateur peut toujours copier / coller


Vous avez attribué le même identifiant "Nowhite" à plusieurs éléments. ID est censé être unique et c'est pourquoi seul le premier élément est traité. Utilisez la classe au lieu d'ID pour identifier les champs à traiter.


J'utiliserais regex dans l'entité pour éviter que les espaces bleus, quelque chose comme [regularexpression (@ "^ [^ ^ s] + $")]


Merci @cid pour la tête.


3 Réponses :


1
votes

Je pense que le problème ici pourrait être l'identifiant multiple avec le même nom. L'ID devrait être unique. Si vous devez identifier plusieurs éléments, vous pouvez utiliser des classes.

Exemple: P>

au lieu de: p> xxx pré>

Utilisez simplement ceci: P> xxx pré>

puis dans votre jQuery, $ ("# Nowhite")), utilisez ce sélecteur $ (". Nowhite") p>

Notez que le "#" a été remplacé par "." . C'est Beacuse le # rechercher les identifiants et le point recherchent des cours. P>

$(".noWhite").on("keypress", function (e) {
        if (e.which === 32)
            e.preventDefault();
    });


0 commentaires

0
votes

L'ID d'un champ est unique et vous la dupliquez dans la boucle pour la boucle pour, c'est pourquoi cela ne fonctionne que sur la première entrée, à la place d'utiliser un identifiant, essayez d'utiliser une classe Exemple: xxx

et la fonction JavaScript est: xxx


0 commentaires

0
votes

Il est préférable de supprimer les espaces blancs lorsque l'utilisateur entre dans le texte:

p>

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script type="text/javascript">

$(document).ready(function(){
        $("#noWhite").on("keyup", function (e) {
            $(this).val($(this).val().toString().replace(" ",""));
        });
});

</script>
<input type="text" id="noWhite">


0 commentaires