Je teste une ligne de code où elle vérifie une variable si elle est vide ou non. Si c'est vide une invite apparaît. Mais même si la variable a quelque chose, l'invite apparaît toujours.javascript - Pourquoi cette instruction if ne fonctionne pas?
function myFunction(){
if (site == null || variable == undefined) {
var site = prompt("Please enter a valid url:", "http://");
document.cookie = 'Your bookmark is: '+ site;
alert(unescape(document.cookie));
\t document.getElementById("p1").innerHTML = '<a class="txt2" href="' + site + '" target="myframe">' + site + '</a>';
}
else {
alert('yey its working');
}
}
<a class="txt2" id="p1" onclick="myFunction()">Button</a>
Le code fonctionne, il est juste après la variable est définie l'invite apparaît à nouveau avant de charger la page.
Votre 'if' teste deux variables différentes. Où 'variable' est-il déclaré? Quoi qu'il en soit, 'site' est déclaré localement à l'intérieur de la fonction, donc il sera' undefined' au point où la condition 'if' est évaluée, et' == 'considère' undefined' et 'null' égaux, donc' si 'la condition est toujours vraie. – nnnnnn