|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Membre du Club
![]() Axel Développeur informatique Inscription : juin 2008 Messages : 192 ![]() |
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 :
J'ai essayé d'autres trucs comme : 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... Merci d'avance, Axel |
||
|
|
00
|
|
|
#2 |
|
Membre Expert
![]() Tlouye Ci Inscription : mars 2004 Messages : 1 450 ![]() |
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).
|
|
|
00
|
|
|
#3 |
|
Membre du Club
![]() Axel Développeur informatique Inscription : juin 2008 Messages : 192 ![]() |
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... |
|
|
00
|
|
|
#4 |
|
Membre Expert
![]() Tlouye Ci Inscription : mars 2004 Messages : 1 450 ![]() |
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 ? |
|
|
00
|
|
|
#5 | ||
|
Expert Confirmé Sénior
![]() Romain VALERIPOOête Inscription : avril 2008 Messages : 2 572 ![]() |
Code javascript :
__________________
...pour les linguistes et les curieux >>> générateur de phrases aléatoires __________________ |
||
|
|
00
|
|
|
#6 | ||
|
Membre du Club
![]() Axel Développeur informatique Inscription : juin 2008 Messages : 192 ![]() |
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 :
|
||
|
|
00
|
|
|
#7 |
|
Membre expérimenté
![]() ![]() Duke Jikel Inscription : mai 2010 Messages : 339 ![]() |
Donc ce n'est pas du javascript mais du JScript
|
|
|
00
|
|
|
#8 |
|
Membre du Club
![]() Axel Développeur informatique Inscription : juin 2008 Messages : 192 ![]() |
Oui il paraît ^^ mais pour moi c'est la même syntaxe (à quelques nuances près).
D’ailleurs l’entête d'un page JScript se fait généralement comme suit: Code :
<%@LANGUAGE="JAVASCRIPT" CODEPAGE="1252"%> Code :
<%@LANGUAGE="JScript" CODEPAGE="1252"%> |
|
|
00
|
|
|
#9 |
![]() ![]() ![]() Didier MouronvalDéveloppeur Web Inscription : juin 2008 Messages : 13 805 ![]() |
En JavaScript, invoquer une variable non définie renvoie une erreur (reference error), l'astuce, c'est qu'une propriété non déclarée renvoie undefined et qu'une variable globale est considérée comme une propriété de l'objet window.
Donc renvoie une erreur renvoie undefined. Conclusion, si tu veux tester si une variable est déclarée, il faut passer par Code :
if(window.toto===undefined){alert('La variable toto n\'est pas déclarée')}
__________________
Pas de question technique par MP ! Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi ! Vous possédez un blog et aimeriez diffuser vos billets sur le forum, contactez-moi ! Mes formations video2brain : La formation complète sur JavaScript • JavaScript et le DOM par la pratique • PHP 5 et MySQL : les fondamentaux Mon livre sur jQuery
|
|
00
|
|
|
#10 | |
|
Expert Confirmé Sénior
![]() Romain VALERIPOOête Inscription : avril 2008 Messages : 2 572 ![]() |
Citation:
Sinon, à part ça, ça serait pas mal de connaître exactement ce que renvoie Request.Form() quand on lui passe un identifiant ne correspondant à aucune donnée envoyée... peut-être pas "undefined" ? Et sinon ça n'a rien à voir mais : ![]() Si c'est un appel de méthode, il manque les parenthèses, si c'est une référence à la méthode, elle tombe dans le vide...
__________________
...pour les linguistes et les curieux >>> générateur de phrases aléatoires __________________ |
|
|
|
00
|
|
|
#11 | ||
|
Membre du Club
![]() Axel Développeur informatique Inscription : juin 2008 Messages : 192 ![]() |
l'objet window n'est valable que côté client je pense (en tout cas il me dit qu'il ne connait pas cet objet).
Citation:
J'ai réussi à résoudre mon problème mais bon je suis un peu frustré de ne pas faire une méthode "standard"... Lorsque je récupérais mes variables, je faisait comme ceci : Code :
var id_produit = Request.Form("id_produit_"+p); Code :
var id_produit = String(Request.Form("id_produit_"+p)); PS : pour ce qui est du RS.Close sans parenthèses, j’avoue que tu me poses une colle. En tout cas c'est bien une méthode mais sans paramètres à envoyer alors les parenthèses ne sont pas forcément utiles je crois. Je vais me renseigner. Citation:
|
||
|
|
00
|
|
|
#12 | |||
|
Expert Confirmé Sénior
![]() Romain VALERIPOOête Inscription : avril 2008 Messages : 2 572 ![]() |
Oui, tu avais en fait confondu "undefined" et undefined ^^
C'est le paradoxe : une chaine (objet de type String) dont la valeur est "undefined" n'est pas du tout undefined puisqu'elle a un type et une valeur ![]() Citation:
Code javascript :
__________________
...pour les linguistes et les curieux >>> générateur de phrases aléatoires __________________ |
|||
|
|
00
|
|
|
#13 | |
|
Membre du Club
![]() Axel Développeur informatique Inscription : juin 2008 Messages : 192 ![]() |
Citation:
En effet ça change tout lol. la var fonct à la valeur function() { return "coucou"; } Mais là ce n'est pas un objet function mais un objet Server : Code :
RS = Server.CreateObject("ADODB.RecordSet"); Mais bon tu as raison avec les parenthèses, c'est un peu plus ISO comme on dit Bon aller je vais mettre tout ça en résolu. Merci à tous pour votre aide ![]() Axel |
|
|
|
00
|
|
|
#14 | ||
|
Candidat au titre de Membre du Club
![]() Inscription : mars 2004 Messages : 42 ![]() |
Bonjour à tous,
Je relance ce topic car j'ai le même souci qu'a rencontré Aquellito, mais je n'ai pas compris la solution proposée Le fichier est de type .asp Mon code : Code :
Pourquoi valide-t-il toujours le "if" même quand le paramètre actid n'est pas donné dans l'url ? Merci ! |
||
|
00
|
|
|
#15 | |
|
Expert Confirmé Sénior
![]() Romain VALERIPOOête Inscription : avril 2008 Messages : 2 572 ![]() |
Citation:
Or,
__________________
...pour les linguistes et les curieux >>> générateur de phrases aléatoires __________________ |
|
|
|
00
|
|
|
#16 | ||
|
Candidat au titre de Membre du Club
![]() Inscription : mars 2004 Messages : 42 ![]() |
J'ai trouvé le test qui fonctionne :
Code :
|
||
|
00
|
Copyright © 2000-2012 - www.developpez.com