Defining action on window load
I am trying to get a page to display specific properties depending on whether or not a specific cookie is set... I am trying this
var x = readCookie('age');
window.onload=function(){
if (x='null') {
document.getElementById('wtf').innerHTML = "";
};
if (x='over13') {
document.getElementById('wtf').innerHTML = "";
};
if (x='not13') {
document.getElementById('emailBox').innerHTML = "<style type=\"text/css\">.formE开发者_运维问答rror {display:none}</style><p>Good Bye</p><p>You must be 13 years of age to sign up.</p>";
};
}
It always just defaults to whatever is in the first if statement... I am still learning my javaScript so I am sure this is sloppy.. can someone please help me get this working?
In Javascript, =
is an assignment operator (it sets the variable on the left to the value on the right). You want ==
, which is the loose equality operator (although you could also use ===
, which is the strict equality operator, for the actual example you gave).
For that specific situation, you might also consider using a switch
instead:
var x = readCookie('age');
window.onload = function(){
switch (x)
{
case null: // Or 'null' if you really meant the string 'null', but I suspect you meant null (not as a string)
document.getElementById('wtf').innerHTML = "";
break;
case 'over13':
document.getElementById('wtf').innerHTML = "";
break;
case 'not13':
document.getElementById('emailBox').innerHTML = "<style type=\"text/css\">.formError {display:none}</style><p>Good Bye</p><p>You must be 13 years of age to sign up.</p>";
break;
}
}
(You also might want to deal with the situation of the value not being any of the three things you're expecting.)
var x = readCookie('age');
window.onload=function(){
if (x==='null') {
document.getElementById('wtf').innerHTML = "";
};
if (x==='over13') {
document.getElementById('wtf').innerHTML = "";
};
if (x==='not13') {
document.getElementById('emailBox').innerHTML = "<style type=\"text/css\">.formError {display:none}</style><p>Good Bye</p><p>You must be 13 years of age to sign up.</p>";
};
}
this should be
if (x=='null') {
精彩评论