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 :

Changer la valeur d'un input à chaque click


Sujet :

JavaScript

  1. #1
    Membre averti
    Homme Profil pro
    retraité
    Inscrit en
    Janvier 2015
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Janvier 2015
    Messages : 27
    Par défaut Changer la valeur d'un input à chaque click
    Bonjour,

    Je fait un tableau (10x10 cases) dans lequel on peut mettre des 1 ou des 0 ou rien le tableau est composé (extrait):

    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    <input autocomplete="off"  onPaste="return false" class="formulaire_Center" type="text" name="P000" value="'.$P[0][0][0].'"  onchange="this.value=this.value.trim()" size="1" maxlength="1" />
            </div></td>
            <td width="20%" ><div align="center">
            <input autocomplete="off"  onPaste="return false" class="formulaire_Center" type="text" name="P001" value="'.$P[0][0][1].'"  onchange="this.value=this.value.trim()" size="1" maxlength="1" />
            </div></td>
            <td width="20%" ><div align="center">
            <input autocomplete="off"  onPaste="return false" class="formulaire_Center" type="text" name="P002" value="'.$P[0][0][2].'"  onchange="this.value=this.value.trim()" size="1" maxlength="1" />
            </div></td>
            <td width="20%" ><div align="center">
            <input autocomplete="off"  onPaste="return false" class="formulaire_Center" type="text" name="P003" value="'.$P[0][0][3].'"  onchange="this.value=this.value.trim()" size="1" maxlength="1" />
            </div></td>
            <td width="20%" ><div align="center">
     
    ......................
    Je peux mettre des Id sur chaque input s’il le faut. L’ensemble est géré par PHP et enregistré au fur et à mesure des clicks (ajax)

    Malgré mes recherches je n’ai pas trouvé de script pour m’aider et je n'arrive pas le faire


    Serait-il possible que :


    Lorsque je click dans une case :
    -- S’il n’y a rien un 1 doit s’inscrire avec un fond vert
    -- S’il y a un 1 un 0 doit s’inscrire avec un font rouge
    -- S’il y a un 0 rien ne s’inscrit avec un fond transparent

    Merci pour vos réponses

  2. #2
    Membre Expert
    Avatar de Doksuri
    Profil pro
    Développeur Web
    Inscrit en
    Juin 2006
    Messages
    2 491
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 491
    Par défaut
    salut, c'est un truc comme ca que tu veux ?
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <table>
    <td width="20%" ><div align="center">
            <input autocomplete="off"  onPaste="return false" class="formulaire_Center" type="text" name="P001" value="'.$P[0][0][0].'" size="1" maxlength="1" />
            </div></td>
            <td width="20%" ><div align="center">
            <input autocomplete="off"  onPaste="return false" class="formulaire_Center" type="text" name="P002" value="'.$P[0][0][1].'" size="1" maxlength="1" />
            </div></td>
            <td width="20%" ><div align="center">
            <input autocomplete="off"  onPaste="return false" class="formulaire_Center" type="text" name="P003" value="'.$P[0][0][2].'" size="1" maxlength="1" />
            </div></td>
            <td width="20%" ><div align="center">
    </table>
    Code css : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    .green { background-color: green; }
    .red { background-color: red; }
    Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    document.querySelectorAll('input').forEach(input => {
    updateBackground(input);
    input.addEventListener('click', updateValue);
    });
     
    function updateBackground(input) {
    input.classList.remove('red');
    input.classList.remove('green');
    if(parseInt(input.value) === 1) {
    input.classList.add('green');
    }
    if(parseInt(input.value) === 0) {
    input.classList.add('red');
    }
    }
     
    function updateValue() {
    if(parseInt(this.value) === 0) {
    this.value = '';
    updateBackground(this);
    return;
    }
     
    if(!parseInt(this.value)) {
    this.value = 1;
    updateBackground(this);
    return;
    }
     
    if(parseInt(this.value) === 1) {
    this.value = 0;
    updateBackground(this);
    return;
    }
     
    }
    La forme des pyramides prouve que l'Homme a toujours tendance a en faire de moins en moins.

    Venez discuter sur le Chat de Développez !

  3. #3
    Membre averti
    Homme Profil pro
    retraité
    Inscrit en
    Janvier 2015
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Janvier 2015
    Messages : 27
    Par défaut
    Merci pour votre réponse

    CHAPEAU ! Merci

    J’aurai jamais pu trouver.

    Cela fonctionne parfaitement après de petites adaptations afin que l’ensembles des scripts se marient parfaitement.
    En effet j’avais des B Radio qui pouvait prendre 1 comme valeur et au click, hop, ils étaient à 0.

    Mais rien d’important.

    Je verrai à l’usage mais cela devrai fonctionner

    Encore une grand merci.

    Bon bout d’an.

    Antoine

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. JS Changer la valeur d'un input
    Par ErotikRabbit dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 18/01/2011, 20h29
  2. changer la valeur d'un input
    Par AyManoVic dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 07/09/2010, 20h35
  3. [AJAX] Changer la valeur d'un input avec une valeur récupérée en php
    Par leroidje dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 05/08/2008, 15h12
  4. [HTML] Valeur dans champ INPUT, dès click la valeur disparait.
    Par bilou95 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 5
    Dernier message: 19/03/2008, 12h37
  5. Comment changer la valeur d'un input selon une liste déroulante
    Par dreyo dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 14/02/2007, 15h22

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