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

ASP.NET Discussion :

ASP .NET MVC - JQuery - if/then/else ne fonctionne pas


Sujet :

ASP.NET

  1. #1
    Membre éclairé
    Homme Profil pro
    autre
    Inscrit en
    Janvier 2015
    Messages
    212
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : autre

    Informations forums :
    Inscription : Janvier 2015
    Messages : 212
    Par défaut ASP .NET MVC - JQuery - if/then/else ne fonctionne pas
    Bonjour,

    Je dois désactiver des champs "input" dans mon formulaire sous certaines conditions.
    Quand la valeur du champ "diamètre" d'un objet n'est pas vide, alors les champs "Largeur" et "Profondeur" sont désactivés.
    Et, donc, réactivés quand "Diamètre" est vide.

    Sauf que quelque soit la valeur dans la condition if, les champs "Largeur" et "Profondeur" sont toujours désactivés même quand "Diamètre" est vide.

    J'ai fait le test avec une valeur précise : "1"
    Que ce soit "1" ou autre chose la condition "else" n'est jamais lue.

    Code : 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
     
    <script>
        var textDiam = document.getElementById('Diam_id'),
            textLarg = document.getElementById('Larg_id'),
            textProf = document.getElementById('Prof_id');
     
          textDiam.oninput = disabled_Dim; 
     
        function disabled_Dim() {
     
            var valeur = $('#Diam_id').val();
            $b = 1;
     
            if (valeur == $b) {
                textLarg.setAttribute('disabled', 'true');
                textProf.setAttribute('disabled', 'true');
            }
            else
            {
                textLarg.setAttribute('disabled', 'false');
                textProf.setAttribute('disabled', 'false');
            }
        }
    </script>
    Merci

  2. #2
    Membre éclairé
    Homme Profil pro
    autre
    Inscrit en
    Janvier 2015
    Messages
    212
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : autre

    Informations forums :
    Inscription : Janvier 2015
    Messages : 212
    Par défaut
    Un premier problème est résolu :
    La valeur "false" ne joue en rien sur l'état du contrôle.

    J'ai changé ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
                textLarg.setAttribute('disabled', 'false');
                textProf.setAttribute('disabled', 'false');
    en ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
                textLarg.setAttribute('enabled', 'true');
                textProf.setAttribute('enabled', 'true');
    Pour autant ça ne fonctionne pas mieux.
    J'arrive à les désactiver, mais jamais à les réactiver.

    Pourtant le test sur la valeur dans if paraît valide, dans les diverses variations que j'ai essayées :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    if (!$('#Diam_id').val())...
    if ($('#Diam_id').val() == "")...
    if ($('#Diam_id').val()) != ' ')...
    Mais rien ne "passe"

  3. #3
    Membre éclairé
    Homme Profil pro
    autre
    Inscrit en
    Janvier 2015
    Messages
    212
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : autre

    Informations forums :
    Inscription : Janvier 2015
    Messages : 212
    Par défaut
    Purée, c'est pas possible.

    Code : 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
     
        var textDiam = document.getElementById('Diam_id'),
            textLarg = document.getElementById('Larg_id'),
            textProf = document.getElementById('Prof_id');
     
        textDiam.onkeyup = disabled_Dim;
     
        function disabled_Dim() {
            var $t = $(this);
            if (!$t.val()) {
                textLarg.removeAttribute('disabled');
                textProf.removeAttribute('disabled');
                console.log("enabled");
            } else {
                textLarg.setAttribute('disabled', 'true');
                textProf.setAttribute('disabled', 'true');
                console.log("disabled");
            }
        }
    Pffff
    6 heures de recherches et d'essais
    No comment

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 16/02/2016, 16h41
  2. asp.net mvc MVCContrib Grid avec jquery.datatable
    Par mourbare dans le forum ASP.NET MVC
    Réponses: 0
    Dernier message: 25/10/2011, 13h08
  3. jQuery UI Dialog & asp.net MVC
    Par pacifiquement dans le forum ASP.NET MVC
    Réponses: 0
    Dernier message: 11/07/2011, 14h53
  4. ASP.NET MVC 3 : problème decimal jQuery
    Par Keilen dans le forum ASP.NET MVC
    Réponses: 5
    Dernier message: 03/04/2011, 03h08
  5. [ASP.NET MVC 3] Le ValidationSummary ne s'affiche pas
    Par Skalp dans le forum ASP.NET MVC
    Réponses: 8
    Dernier message: 28/03/2011, 18h41

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