Reputation: 331
While trying to debug I am get the 'length' null error with this line. It is written just like the book instructed, so I don't understand why it is giving me the error? Thanks, =)
if (capital.length < 1) {
( here is the full code as requested.. SORRY)
<script type="text/javascript">
var capital = window.prompt("What is the capital of Missouri?","")
if (capital.length < 1) {
document.getElementById("firstdiv").innerHTML="Sorry you don't feel like playing.<br /> The Capital of Missouri is Jefferson City.";
}
else {
if (!window.confirm("Is that your final answer?")){ return true;
document.getElementById("firstdiv").innerHTML = "The capital of Missouri is: <bold>" + capital + "</bold>, so says you.";
}
else{
return false;
}
}
</script>
Upvotes: 29
Views: 203056
Reputation: 39
Use Try cache
try{
//Your Code
} catch(err){
console.log(err)
}
Upvotes: 0
Reputation: 6692
This also works - evaluate, if capital is defined. If not, this means, that capital is undefined or null (or other value, that evaluates to false in js)
if (capital && capital.length < 1) {do your stuff}
Upvotes: 4
Reputation: 8732
if (capital.touched && capital != undefined && capital.length < 1 ) {
//capital does exists
}
Upvotes: 1
Reputation: 61512
The proper test is:
if (capital != null && capital.length < 1) {
This ensures that capital
is always non null, when you perform the length check.
Also, as the comments suggest, capital
is null
because you never initialize it.
Upvotes: 88
Reputation: 6432
From the code that you have provided, not knowing the language that you are programming in. The variable capital
is null. When you are trying to read the property length, the system cant as it is trying to deference a null variable. You need to define capital
.
Upvotes: 1