onkeyup ou onkeypress d'événements javascript problème de mot de passe mises à jour de statut
De programmation, tout d'Abord, (à partir de w3 schools)
L'exemple de programmation en dessous (à partir de W3 schools) est agréable et facile, il fonctionne sur leur site, mais je suis vraiment confus sur quelque chose.
onkeypress="return noNumbers(event)"
pourquoi il y a un retour avant la fonction? Que faut-il faire? Si vous connaissez la réponse à celle - comment avez-vous trouver cette information? J'imagine, qu'il permet à l'keypressed fonction de poursuivre le traitement de la frappe depuis mon événement "interrompu" il?
aussi - j'ai essayé de voir ce "événement" est. Il ne semble pas être un mot-clé. J'ai passé > heure à essayer de trouver ce qu'il est. Il ne semble pas être affecté n'importe où dans le code d'exemple. Normalement dans ce spot, vous verriez 'cette'. Si ce n'est pas assigné à la variable de toujours passer le gestionnaire d'événement? Confus...
Ce que je veux faire avec leur fonction
Je veux faire un vérificateur de force de mot de passe à mesure QUE vous tapez. Je cherchais à leur exemple afin que je puisse comprendre comment capturer les touches (croix-navigateur et un minimum de IE7). Mon idée était...
<input type="password" name="pword" maxlength="50" size="50" id="field_pword" onkeyup="PasswordStrength(name, 8, 'relaxed')" onblur="CheckField(name, 8, 1)">
remarque: Oui, je sais que c'est mieux pour affecter des gestionnaires d'événements à l'extérieur de l'html, mais je ne pouvais pas voir un moyen de transmettre des variables à moins que c'était en ligne. Je suis un novice donc j'ai peut-être oublié quelque chose mais... c'est pourquoi je le fais DANS le code HTML.
aussi, EST-IL MAUVAIS comment je suis de passage nom? il n'envoyer pword à la fonction mais je fais quelque chose de mal là? Dois-je simplement faire une constante chaîne de caractères? Il fonctionne comme est, mais parfois simplement parce que quelque chose fonctionne... ne veut pas dire que c'est correct. 🙂
onkeyup="PasswordStrength('pword', 8, 'relaxed')" onblur="CheckField('pword', 8, 1)">
Mon checkfield fonction fonctionne (je l'utilise après chaque domaine) j'ai récemment ajouté dans PasswordStrength. Ma question est... ma nouvelle fonction n'est pas de passer l'évènement virage alors, comment puis-je vérifier ce qui touche est enfoncée? Puis-je faire cela?
onkeyup="PasswordStrength(name, 8, 'relaxed', event)"
ou faut-il la lire...
onkeyup="return PasswordStrength(name, 8, 'relaxed', event)"
Si je ne peux pas passer tout ce "événement" est de cette façon, à l'intérieur de ma fonction puis-je obtenir avec précision ce que la touche enfoncée était sans un grand désordre dans le code? Depuis que je suis en apprentissage je besoin d'exemples pour être aussi simple que possible (s'il vous plaît).
À l'aide de ma fonction que j'allais le faire de cette façon mais je ne sais toujours pas comment obtenir ce qui touche a été pressée...
function PasswordStrength(sField, iMinLength, sStrength, e?)
{
var form = document.forms[0];
var gc = form[sField].value;
//once I have the value I can do checking but it would be nice to have WHAT key
//was pressed
//the e? above is where I was thinking of passing the event
W3 exemple, j'ai été tirant quelques connaissances de...
function noNumbers(e)
{
var keynum;
var keychar;
var numcheck;
if(window.event) //IE
{
keynum = e.keyCode;
}
else if(e.which) //Netscape/Firefox/Opera
{
keynum = e.which;
}
keychar = String.fromCharCode(keynum);
numcheck = /\d/;
return !numcheck.test(keychar);
}
</script>
<form>
Type some text (numbers not allowed):
<input type="text" onkeypress="return noNumbers(event)" />
</form>
</body>
</html>
Que quelqu'un est en train de taper j'allais changer le texte en utilisant innerHTML à côté du champ de mot de passe-à-dire, "Faible", "Ok", "Bon", "Parfait" ou quelque chose le long de ces lignes de l'état du mot de passe. J'adorerais le faire comment google fait-il avec un graphisme à la gauche du terrain, mais je ne sais pas comment le faire simplement. lol.
Est ma façon d'être réparable? Avez-vous une meilleure façon de le faire que je ne le sais pas? Très apprécié. Dans l'attente d'une perfusion de sagesse...
- Pouvez-vous résumer votre question et peut-être même de le diviser en une ou deux questions? J'aimerais vous aider, mais c'est trop difficile à digérer. Je suppose que d'autres seraient d'accord. N'en déplaise ;).
- Hé là - j'ai enlevé le jquery question du sondage à partir de ci-dessus pour le rendre beaucoup plus petit. Je peux demander à propos de jquery un autre jour. Je suis juste essayer de faire un vérificateur de force de mot de passe qui vérifie la force du mot de passe que vous tapez. Le code @ le fond est ce que je cherchais, à partir de w3 de l'école, mais je ne comprends pas comment ils ont fait des choses (c'est ainsi que mes réflexions sur le haut). Dans le milieu, est-ce que j'étais attemping mais je ne vois pas comment je peux utiliser des morceaux de leur code avec le mien comment j'ai fait mon essai. Le fond est le w3 exemple, j'ai été vérifier. J'ai essayé de le décomposer mieux que je pouvais...
- OK, Après une rapide recherche sur Google, je vais commencer ici: webresourcesdepot.com/...
- Vous pouvez faire la même chose en même temps.
- Salut PerryCS, je ne vais pas poster cela comme une réponse, car il n'est pas une pilule magique ou quoi que ce soit, mais après avoir examiné environ une dizaine de plugins, je pense que ce sera le mieux à vos besoins: archive.plugins.jquery.com/project/password_strength. Espérons que cela aide!
- wow, que le mot de passe du compteur me fait baver... je n'ai pas l'événement de penser à la recherche spécifiquement pour une premade fonction de mot de passe. Je vais voir ce que les gens post à mon faire mon propre et voir si je peux le faire. Mais, j'apprécie les liens. Je vais vérifier pour vous.
- Super! Bonne chance Perry!
Vous devez vous connecter pour publier un commentaire.
1) Le "retour", mot qu'il fait en sorte que si la fonction renvoie la
false
, qui est passée de retour à l'événement et arrête la frappe d'être traité par le navigateur (et apparaissant dans le champ de saisie si c'est ce que l'événement est sur).2)
event
est l'objet de l'Événement, qui contient des informations sur l'événement comme ce qui touche wa pressé, où l'événement a été déclenché, etc.3) Oui, c'est mauvais comment vous êtes de passage à
name
, parce que vous n'êtes pas de la passer. Utilisationthis.name
à la place.4) Dans ce cas, vous n'avez pas besoin
return
parce que vous n'êtes pas d'essayer d'arrêter une frappe d'être ajouté à la zone de texte. De même, vous n'avez pas besoin de passerevent
parce que vous pouvez passerthis.value
pour obtenir le contenu de la zone de texte.5) il Vous suffit de passer
this
au lieu dethis.name
,this.value
ou ce que d'autres valeurs.Ensuite, dans la fonction, obtenir les propriétés de l'argument unique.6) une Fois que vous passez l'ensemble de la valeur avec
this.value
, vous pouvez exécuter vos tests sur que. Il n'y a absolument pas besoin de savoir quelle touche a été pressée, surtout que des choses commeCtrl+V
serait complètement la vis de vous.7) Vous pouvez avoir un
<div>
et de modifier la largeur et/ou la couleur d'arrière-plan pour faire une sorte de force à la barre de l'indicateur.Juste pour votre d'abord les questions de programmation:
permet d'interrompre l'action en fonction de la valeur du contenu. De retour
false
à l'intérieur deonclick
ce sera la fin de dans la, cliquez sur ne pas être fait. Donc
<a href="http://test.de"
l'habitude de vous relier à quoi que ce soit sionclick="return false;">linkname</a>
JavaScript est actif.
event
est simplement une variable déclarée avant qu'il ne heurte l'événement réel, de plus amples explications ci-dessous.Vous connaissez les éléments de ce gestionnaire d'attributs dans le JavaScript?
Ils sont des fonctions c'est à dire
si vous affectez une
onclick
attribut d'une balise c'est tout simplement un autre ajusté de façon à créer cette fonction anonyme. Doncva se comporter comme si vous avez créé une fonction anonyme en prenant l'argument
event
.Cela va se comporter exactement égale à l'exception de la le retard de la cession.
La
this
mot-clé est toujours le propriétaire de l'objet dont la propriété de la fonction vous êtes l'accès ou de l'objet que vous êtes de passage à unapply
/call
méthode. Dans ce cas, il est évidemment le propriétaire de l'élément du DOM. Doncthis.value
est leinput
s valeur.La
event
passé à la fonction est un objet contenant des informations utiles sur les navigateurs actuels de l'état et divers. Il a des propriétés légèrement différentes rempli avec des valeurs différentes dans les différents navigateurs, mais la fonctionnalité principale est la même partout.name
.. à chaque fois que vous accéder à une propriété des propriétaires de l'objet, vous pouvez omettre lethis
mot-clé. Ainsi, il est tout simplement le même conflit comme celui sur l'écriture deau lieu de
window.onload
outhis.onload
ou mêmethis.window.onload
(qui sont théoriquement de travail depuis le tout contenant un objet possède une propriété nomméewindow
qui se réfère à lui-même). On pourrait dire que c'est une question de convention. Mais depuis la convention de toujours accéder propres propriétés au cours de lathis
mot-clé (sauf pourwindow
qui vous doit de l'accès sur sa propriétéwindow
) est fortement établi et soutenu, vous devriez probablement écrirethis.name
.keyup
. Expliqué ci-dessus.event
objet? Juste le traiter comme une variable normale.