IdentifiantMot de passe
Loading...
Mot de passe oubli� ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les r�ponses en temps r�el, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

Faire des UNDO sur des modifications d'input


Sujet :

JavaScript

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    49
    D�tails du profil
    Informations personnelles :
    �ge : 47
    Localisation : France, Paris (�le de France)

    Informations forums :
    Inscription : Mars 2007
    Messages : 49
    Par d�faut Faire des UNDO sur des modifications d'input
    bonjour

    j'ai bien cherch� (ou tr�s mal) mais je ne trouve rien alors me v'la :

    est-ce que vous avez entendu parl�, vu, ou cr��, un set de fonctions en javascript pour faire des retour arri�res sur des modifications dans des input ?

    EXEMPLE : en mode admin, j'ai une appli web au boulot, qui g�n�re des table avec plein de lignes et plein de iput text / select, pour mettre � jour une base de donn�es. Il y a un bouton submit global, un pour chaque ligne, et un bouton delete pour chaque ligne. le Submit fait un $POST qui met � jour la base, rien de plus simple. voir ci-dessous :


    L'id�e : un bouton retour arri�re, car quand j'ai modifi� 15 inputs et que je me suis gour� sur le dernier, j'ai le choix entre tout annuler, tout submiter, ou submiter juste ma ligne mal modifi�e, et je suis tellement b�te que je ne sais plus la valeur d'origine dans le input ...

    Alors � votre avis, comment ce serait faisable le plus facilement ?
    - stocker toutes les valeurs des input dans une table en json ?
    - faire une variable array[0..n] qui stockerait les actions effectu�es au fur et � mesure ?
    - autre ?

    merci pour les id�es ! Je ne demande pas de code, hein, juste quelques id�es pour d�marrer...

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    49
    D�tails du profil
    Informations personnelles :
    �ge : 47
    Localisation : France, Paris (�le de France)

    Informations forums :
    Inscription : Mars 2007
    Messages : 49
    Par d�faut syst�me d'undo avec closure
    Merci aux d�veloppeurs de DOJO qui m'ont aiguill� vers les closure()

    en effet le main probl�me est de stocker des fonctions avec des variables dont la valeur doit �tre celle � l'�poque du stockage et pas de l'ex�cution ...

    En clair si on stocke une fonction avec des variables, celles ci sont �valu�es lors de l'ex�cution de la fonction ... et y faut pas !

    On m'a pr�sent� ceci : explications sur les closures

    puis ce d�veloppement du gars qui m'a expliqu� : projet memento, j'ai rien compris

    bref, j'ai besoin d'aide pour d�marrer ...

  3. #3
    R�dacteur/Mod�rateur

    Avatar de SpaceFrog
    Homme Profil pro
    D�veloppeur Web Php Mysql Html Javascript CSS Apache - Int�grateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 659
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activit� : D�veloppeur Web Php Mysql Html Javascript CSS Apache - Int�grateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 659
    Billets dans le blog
    1
    Par d�faut
    Tout d�pend du niveau auquel tu souhaites g�rer l'historique ...
    et de quand les modifs sont prises en compte...
    Si �a se fait en direct sur tes tables et que tu souhaites conserver un historique, ce n'est pas au niveau de js que tu trouveras le salut...
    si c'est juste conserver un historique des modifs sur la page cot� client avant validation et modif de table alors il te faudra sauvegarder temporairement les selections dans des objets ou arrays ...
    Ma page Developpez - Mon Blog Developpez
    Pr�sident du CCMPTP (Comit� Contre le Mot "Probl�me" dans les Titres de Posts)
    Deux r�gles du succ�s: 1) Ne communiquez jamais � quelqu'un tout votre savoir...
    Votre post est r�solu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de D�veloppez !

  4. #4
    R�dacteur
    Avatar de marcha
    Homme Profil pro
    D�veloppeur Web
    Inscrit en
    D�cembre 2003
    Messages
    1 571
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 54
    Localisation : Suisse

    Informations professionnelles :
    Activit� : D�veloppeur Web

    Informations forums :
    Inscription : D�cembre 2003
    Messages : 1 571
    Par d�faut
    Salut,

    Dans un premier temps je regarderait du cot� de l'ergonomie.

    Par exemple, si tu veux faire un retour en arri�re pour un champ
    est-ce que tu va mettre un bouton "undo" en vis � vis de chaque champ ?

    Ou est-ce que tu veux un bouton "undo" g�n�ral qui va permettre
    de remettre la valeur initiale du dernier champ rempli, puis de l'avant dernier,
    etc... ?

    Est-ce que tu veux un bouton "undo" par ligne ?

    A partir de l� il sera plus facile de faire un choix technique.

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    49
    D�tails du profil
    Informations personnelles :
    �ge : 47
    Localisation : France, Paris (�le de France)

    Informations forums :
    Inscription : Mars 2007
    Messages : 49
    Par d�faut
    justement j'avais r�fl�chi � la question et le plus simple pour tout le monde c'est un bouton undo/redo par table (une table et un submit par iframe).

    et comme j'utilise dojo avec des onglets, plusieurs iframes donc plusieurs tables sont susceptibles d'�tre modifi�s en parall�le.

    Sur le principe des closures je pense saisir le concept (sauvegarder une fonction qui va appliquer une liste de modifications), mais c'est le fonctionnement et donc le codage que je ne comprends pas encore, cf les liens que j'ai post�...

    le contenu des fonctions � sauvegarder / appliquer sera hyper simple : �a concerne des input text/select, donc il y aura du focus(), du value=(), et du backgroundColor. de toutes les fa�ons on met ce qu'on veut dans les fonctions d'undo, ce que je veux comprendre c'est comment stocker des valeurs de variables qui ne soient pas �valu�es au moment de l'appel.

  6. #6
    R�dacteur
    Avatar de marcha
    Homme Profil pro
    D�veloppeur Web
    Inscrit en
    D�cembre 2003
    Messages
    1 571
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 54
    Localisation : Suisse

    Informations professionnelles :
    Activit� : D�veloppeur Web

    Informations forums :
    Inscription : D�cembre 2003
    Messages : 1 571
    Par d�faut
    Je comprends pas ce que tu veux dire par "pas �valu�e au moment de l'appel" ?

    Sinon pour sauver les champs tu peux assigner l'�v�nement onchange et
    appeler une fonction pour empiler les donn�es.

    par exemple:

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
     
    <input type='text' onchange='sauver(this)' />
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    var undolist = [];
     
    function sauver(field) {
      undolist.push([ field, field.value ]); // on sauve une référence sur le champ et sa valeur actuelle
    }
     
    function undo() {
       var item = undolist.pop();
       item[0].value = item[1];
    }
    c'est juste une piste, il y a surement plein de d�tails � r�gler.

Discussions similaires

  1. R�ponses: 15
    Dernier message: 28/11/2012, 22h42
  2. Comment ajouter des s�ries dans des graphes sur des feuilles variables
    Par Molomarcopolo dans le forum Macros et VBA Excel
    R�ponses: 1
    Dernier message: 06/07/2012, 16h26
  3. Trigger pour mettre des droits sur des procedures et des vues
    Par briino dans le forum D�veloppement
    R�ponses: 3
    Dernier message: 23/09/2009, 09h44
  4. [VB6] Comment faire un update sur des textbox qui sont cr��s
    Par bb62 dans le forum VB 6 et ant�rieur
    R�ponses: 27
    Dernier message: 16/02/2006, 14h52
  5. [VB.Net] Faire du JS sur des contrôles côté serveur
    Par TagadaTsoin dans le forum ASP.NET
    R�ponses: 4
    Dernier message: 03/11/2003, 15h51

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo