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 Discussion :

Tester si une variable est "undefined"


Sujet :

ASP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de Aquellito
    Développeur informatique
    Inscrit en
    Juin 2008
    Messages
    337
    Détails du profil
    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2008
    Messages : 337
    Par défaut Tester si une variable est "undefined"
    Bonjour à tous,

    Dans la catégorie 'question de débutant' : Comment vérifier l’existence d'une variable ?

    J'ai suivi (je pense) les tutos à la lettre.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    var maVar = Request.Form("maVar");
    Response.Write("maVar : "+maVar);
     
    if (maVar != "undefined")
    {
    Response.Write("maVar existe !");
    }else{
    Response.Write("maVar n'existe pas !");
    }
    Lorsque j'affiche la variable, elle a bien la valeur 'undefined'. Pourtant pour lui la variable n'a pas la valeur "undefined"...

    J'ai essayé d'autres trucs comme :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if (maVar != undefined)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if (maVar != 'undefined')
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if (typeof(maVar) != "undefined")
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if (typeof(maVar) != 'undefined')
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if (typeof(maVar) != undefined)
    Rien ne marche. Le plus incompréhensible c'est que si je test l'existence d'une variable de session comme ci-dessous, là ça marche.... Je n'y comprend plus rien snif...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if (Session("maVar") != undefined)
    Merci d'avance,
    Axel

  2. #2
    Membre Expert
    Avatar de Loceka
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    2 276
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 2 276
    Par défaut
    J'avoue que j'ai jamais compris non plus comment faire un vrai test d'existence, mais le code suivant fonctionne pour tester l'existence d'une variable :L'inconvénient évident de ce test c'est que, dans le cas où la variable a une valeur dont l'interprétation booléenne est "false" (donc false, 0, "", ...) ce test échoue aussi. De ce fait il n'y a pas (comprendre : je ne connais pas) de moyen de distinguer la non existence d'une variable d'une valeur booléenne à false (sauf à faire le test avec === pour le false mais c'est relativement lourd).

  3. #3
    Membre éclairé Avatar de Aquellito
    Développeur informatique
    Inscrit en
    Juin 2008
    Messages
    337
    Détails du profil
    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2008
    Messages : 337
    Par défaut
    Mouais, c'est louche de galérer autant pour un truc aussi simple...

    J'ai testé if (maVar) { ... } mais ça ne marche pas non plus. Cela pourrait-il venir du fait que mon script se trouve côté serveur ? Ya pas de raison mais bon...

    Je vais tester la dernière solution, le booléen...

  4. #4
    Membre Expert
    Avatar de Loceka
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    2 276
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 2 276
    Par défaut
    Qu'est-ce que tu entends pas "côté serveur" ?

    Fais voir le code de ta page (particulièrement les imports) + celui des 2 scripts ?

  5. #5
    Membre Expert
    Avatar de RomainVALERI
    Homme Profil pro
    POOête
    Inscrit en
    Avril 2008
    Messages
    2 652
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : POOête

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 652
    Par défaut
    Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    var v;
    if (v === undefined) alert(v);// affiche "undefined"
    v = 1;
    if (v != undefined) alert(v);// affiche "1"

  6. #6
    Membre éclairé Avatar de Aquellito
    Développeur informatique
    Inscrit en
    Juin 2008
    Messages
    337
    Détails du profil
    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2008
    Messages : 337
    Par défaut
    Côté serveur veut dire que c'est de l'ASP et non un script côté Client.

    Ci-dessous la partie de ma page qui pose problème.
    J'ai un formulaire avec X champs (de 1 à 20). Dans un premier temps je test si la variable id_produit_1 existe. Si oui, j'insère le produit dans la base. Si non, je test le champ id_produit_2. Ainsi de suite jusqu'à id_produit_20 :

    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
    25
    for (p = 1 ; p < 21 ; p++)
    	{
     
    		var id_produit = Request.Form("id_produit_"+p);
    		if (typeof(id_produit) != "undefined")
    		{
    			req = "SELECT * FROM produits WHERE (id="+id_produit+")";
    			RS.Open(req,conn_indus,3,1);
    			if (!RS.EOF)
    			{
    				var nom_produit = RS("nom_produit").value;
    				var no_formule = RS("code_produit").value;
    			}
    			RS.Close;
     
    			var tonnage = parseInt(Request.Form("tonnage_"+p));
    			var commande = Request.Form("commande_"+p);
    			var heure_demarrage = String(Request.Form("heure_demarrage_"+p)).replace(/'/g,"''");
    			var demarrage = Request.Form("demarrage_"+p);
     
    			req = "INSERT INTO produits (id_plann,tonnage,heure_demarrage,demarrage,commande,no_formule,nom_produit,id_centrale,id_agence) VALUES ("+id_plann+","+tonnage+
    			",'"+heure_demarrage+"','"+demarrage+"','"+commande+"','"+no_formule+"','"+nom_produit+"',"+id_centrale+","+id_agence+")";
    			conn_tonnage.Execute(req);
    		}
    	}

  7. #7
    Inactif  

    Profil pro
    Inscrit en
    Mai 2010
    Messages
    345
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 345
    Par défaut
    Donc ce n'est pas du javascript mais du JScript

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

Discussions similaires

  1. Tester qu'une variables est une puissance de x
    Par rikau2 dans le forum C++
    Réponses: 10
    Dernier message: 21/07/2007, 09h13
  2. Réponses: 3
    Dernier message: 11/10/2006, 17h18
  3. Tester si une variable est vide
    Par christel1982 dans le forum ASP
    Réponses: 13
    Dernier message: 13/09/2006, 11h01
  4. comment tester si une variable est de type indifined
    Par amelhog dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 10/08/2005, 09h32

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