9
votes

JavaScript pour effectuer le champ de saisie en mode édition (mode insertion)

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 ???


4 commentaires

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.


4 Réponses :


1
votes

Edit: Peut être totalement hors sujet, en fonction du sens de la question.

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.

Fondamentalement, les étapes sont:

  1. Onfocus / OnClick - Échangez votre champ avec une entrée.
  2. Lorsque l'utilisateur est "Terminé" (appuyez sur Entrée, cliquez sur un bouton), appuyez sur le résultat sur le serveur via AJAX.
  3. Lorsque votre demande complète, mettez à jour l'interface avec la nouvelle valeur, en cessant de l'entrée.

2 commentaires

+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.



5
votes

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);">


3 commentaires

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



1
votes

Vous pouvez essayer d'imiter le mode insertion en réécrivant la valeur d'entrée sur la touche: xxx

voici une démonstration: http://jsfiddle.net/z6khw/


2 commentaires

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.