j'ai quelques htmlcaractères de blocs de champ de texte d'entrée, entrée de miroir dans la durée ou div
<input type="text" name="name" value="" id="name">
<div id="preview"></div>
Les règles d'entrée dans le champ:
- Lettres AZ az Espace 0-9 et tableau de bord , pas d'autres caractères autorisés
- Entrée de caractères interdits ne devrait rien faire
Les règles de la div:
- Afficher chacun des personnages comme il est entré dans le champ de saisie
- Ne pas afficher les caractères sont interdits
- Quand un espace est rencontré, le montrer comme dash
Plusieurs potions ont fonctionné, ne fonctionnaient pas ou se comportaient mal. Cette version semble fonctionner dans tous les cas, je peux tester autre que backspace/delete est non fonctionnel. Seulement testé dans Safari jusqu'à présent.
Il existe d'autres zones "getcha", comme entrer du texte entre des textes déjà entrés, sélectionner tout, en utilisant les touches fléchées, tout cela joue un rôle dans ce problème.
$(document).ready(function(){
$('#name').keypress(function(e) {
// get key pressed
var c = String.fromCharCode(e.which);
// var d = e.keyCode? e.keyCode : e.charCode; // this seems to catch arrow and delete better than jQuery's way (e.which)
// match against allowed set and fail if no match
var allowed = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890- ';
if (e.which != 8 && allowed.indexOf(c) < 0) return false; // d !== 37 && d != 39 && d != 46 &&
// just replace spaces in the preview
window.setTimeout(function() {$('#preview').text($('#name').val().replace(/ /g, '-'));}, 1);
});
});
S'il existe un moyen de mettre une prime monétaire sur ce poste, faites le moi savoir. Oui, c'est là que je suis avec celui-ci :)
Quelle est la question exactement? En outre, votre javascript pourrait être mieux dans un bloc de code et formaté de sorte qu'il est lisible. – Odd
Je pense qu'avec votre réputation actuelle, vous ne pouvez pas mettre une prime à ce sujet. – rahul