Comment est-il possible de faire un champ d'entrée éditable dans JavaScript. Je veux dire Onfocus le mettant en mode insertion afin que les valeurs puissent être écrasées. Toute suggestion ??? p>
4 Réponses :
Edit: Peut être totalement hors sujet, en fonction du sens de la question. P>
Si vous pouvez utiliser jQuery, Jeédable est un joli plugin à faire exactement cela. < / p>
Si vous devez rouler votre propre code, examinez comment ce plugin fonctionne et l'utilise comme point de départ. p>
Fondamentalement, les étapes sont: p>
+1, j'étais sur le point de le suggérer. Je préfère penser à ce plugin comme étant appelé "Table Jedi".
Wow. Je vais avec une table Jedi à partir de maintenant.
Après avoir fait du googling, Cela semble pour être lié. Cela pourrait fonctionner un peu en essayant un peu la pièce avec le code suivant, mais cela ne fonctionne peut-être que dans des navigateurs spécifiques sur des systèmes d'exploitation spécifiques, mais cela vaut une photo de toute façon.
<input type="text" onFocus="document.execCommand('OverWrite', false, true);" onBlur="document.execCommand('OverWrite', false, false);">
Je voudrais +1 ici si cela était compatible plus de navigateur croisé. Comme cela se produit, seul Internet Explorer le supporte. En fait, il n'apparaît que c'est-à-dire que c'est-à-dire supportant la clé d'insertion pour l'écrasement de l'entrée.
J'ai essayé d'utiliser cela mais pas de succès ... Pouvez-vous fournir un court exemple, comment la mettre en œuvre. J'utilise l'événement OnKeyPress. Merci
Mise à jour 2020: Cela fonctionne pour IE, mais pas le firefox, le chrome ou l'héritage de bord. La clé d'insertion fonctionne dans les zones contestables en chrome, mais pas Firefox. webdbg.com/test/edit
Vous pouvez essayer d'imiter le mode insertion en réécrivant la valeur d'entrée sur la touche: voici une démonstration: http://jsfiddle.net/z6khw/ p> p>
Merci pour vos efforts ... J'ai essayé l'exemple, mais il essaie en réalité de sélectionner tous les caractères et les supprimer.
Oups n'a pas testé sur IE, seulement FF.
Cela devrait fonctionner dans les navigateurs modernes (également sur mobile): Remarque: il s'agit d'une forme de base de fonctionnalité d'insertion afin que certaines fonctionnalités par défaut telles que CTRL + Z puissent se casser. EM> P> P> P> P> jsfiddle < / a> h2>
Merci, c'était utile au moins pour moi
Avec cette solution, vous avez malheureusement perdu la capacité Ctrl-Z.
@Diegopamio Malheureusement c'est. J'ai essayé de faire ma propre implémentation Ctrl + Z, mais elle a échoué dans de nombreux cas.
Cela fonctionne également: this.setselectionRange (ceci.selectionstart, ceci.selectionStart + 1); code>
Un champ de saisie n'est-il pas déjà modifiable? Vous parlez de Droite?
@MPLACONA: Il signifie imiter le bouton d'insertion sur le clavier pour écraser le caractère suivant.
Je l'ai lu comme étant en cours d'exécution, mais cela pourrait également lire comme sauvegarde d'une entrée simple et ancienne dans une base de données. Plus de clarification est nécessaire.
@AJM: Vous avez raison, il peut lire dans les deux sens.