Reputation: 58
My html code is :-
com_hrd.html
<!DOCTYPE html>
<html lang="en">
<head>
<link rel="stylesheet" href="com_hrd.css" />
<title>GUESS</title>
<script type="text/javascript" src="com_hrd.js"></script>
</head>
<body>
<h1 id="a1">GUESS</h1>
<h1 id="a2">_Hard</h1>
<h2 id="a3">Hello <span id="res1"></span></h2>
<div class="hr2"></div>
<button type="submit" id="f1" onclick="msg()">
Generate
</button>
<div id="res5"></div>
<div id="res6"></div>
<div id="res"></div>
<h2 id="a3_1">Enter Your Lucky Number></h2>
<h2 id="a3_2">To Start Game:=></h2>
<div id="snackbar">
Number generated...Enter the Number
</div>
<input type="number" id="a4" />
<button
type="submit"
id="a5"
onclick="cal(document.getElementById('a4').value)"
>
Check
</button>
</body>
</html>
com_hrd.js
document.getElementById("res1").innerHTML = localStorage.getItem("textvalue3");
function generate() {
var N = Math.floor(Math.random() * 100) + 1;
return N;
}
function msg() {
var x = document.getElementById("snackbar");
x.className = "show";
setTimeout(function () { x.className = x.className.replace("show", ""); }, 3000);
}
var Num = generate();
function cal(a) {
N1 = a;
// N1 = parseInt(document.getElementById("a4").value);
if (N1 == Num) {
document.getElementById("res").innerHTML = "BINGO!!! You Won!! \n Reload the Page \n To play Again";
break;
}
else {
l1 = [];
a1 = N1.toString();
for (var i = 0, len = a1.length; i < len; i += 1) {
l1.push(+a1.charAt(i));
}
l2 = [];
a2 = Num.toString();
for (var j = 0, len = a2.length; j < len; j += 1) {
l2.push(+a2.charAt(j));
}
if (l2.length == 1) {
if (l1.length == 2) {
if (l1[0] == l2[0] & l1[1] != l2[0]) {
document.getElementById("res").innerHTML = "Numbers Matched: 1\nPosition Matched: 1";
}
else if (l1[1] == l2[0] & l1[0] != l2[0]) {
document.getElementById("res").innerHTML = "Numbers Matched: 1\nPosition Matched: 0";
}
else if (l1[0] == l2[0] & l1[1] == l2[0]) {
document.getElementById("res").innerHTML = "Numbers Matched: 1\nPosition Matched: 0";
}
else {
document.getElementById("res").innerHTML = "Numbers Matched: 0\nPosition Matched: 0";
}
}
else if (l1[0] != l2[0]) {
document.getElementById("res").innerHTML = "Numbers Matched: 0\nPosition Matched: 0";
}
}
else if (l2.length == 2 & l1.length == l2.length) {
if (l1[0] == l2[0] | l1[1] == l2[1]) {
document.getElementById("res").innerHTML = "Numbers Matched: 1\nPosition Matched: 0";
}
else if (l1[0] == l2[1] & l1[1] == l2[0]) {
document.getElementById("res").innerHTML = "Numbers Matched: 2\nPosition Matched: 0";
}
else if (l1[0] == l2[1] | l1[1] == l2[0]) {
document.getElementById("res").innerHTML = "Numbers Matched: 1\nPosition Matched: 0";
}
else {
document.getElementById("res").innerHTML = "Numbers Matched: 0\nPosition Matched: 0";
}
}
else if (l1.length == 2 & l1.length > l2.length) {
if (l1[0] == l2[0] & l1[1] != l2[0]) {
document.getElementById("res").innerHTML = "Numbers Matched: 1\nPosition Matched: 1";
}
else if (l1[1] == l2[0] & l1[0] != l2[0]) {
document.getElementById("res").innerHTML = "Numbers Matched: 1\nPosition Matched: 0";
}
}
else if (l2.length == 2 & l1.length < l2.length) {
if (l1[0] == l2[0]) {
document.getElementById("res").innerHTML = "Numbers Matched: 1\nPosition Matched: 1";
}
else if (l1[0] == l2[1]) {
document.getElementById("res").innerHTML = "Numbers Matched: 1\nPosition Matched: 0";
}
else if (l1[0] != l2[0] & l1[0] != l2[1]) {
document.getElementById("res").innerHTML = "Numbers Matched: 0\nPosition Matched: 0";
}
}
}
}
When i am clicking on Check button, cal() function must be called. But it is showing the following error :
Uncaught ReferenceError: cal is not defined
at HTMLButtonElement.onclick (com_hrd.html:36)
I'm unable get the solution. Actually that button should work. And i should be able to see the sentences i have given like, "Number position". But dont know why it is not working.
Upvotes: 2
Views: 127
Reputation: 7305
This code seems to work fine after removing the misplaced break
and commenting out your localstorage
statement that was throwing a security error. I hardcoded the value to 99 for testing...try running it below.
//document.getElementById("res1").innerHTML = localStorage.getItem("textvalue3");
function generate() {
var N = Math.floor(Math.random() * 100) + 1;
//return N
return 99;
}
function msg() {
var x = document.getElementById("snackbar");
x.className = "show";
setTimeout(function () { x.className = x.className.replace("show", ""); }, 3000);
}
var Num = generate();
function cal(a) {
N1 = a;
if (N1 == Num) {
document.getElementById("res").innerHTML = "BINGO!!! You Won!! \n Reload the Page \n To play Again";
console.log('BINGO');
}
else {
l1 = [];
a1 = N1.toString();
for (var i = 0, len = a1.length; i < len; i += 1) {
l1.push(+a1.charAt(i));
}
l2 = [];
a2 = Num.toString();
for (var j = 0, len = a2.length; j < len; j += 1) {
l2.push(+a2.charAt(j));
}
if (l2.length == 1) {
if (l1.length == 2) {
if (l1[0] == l2[0] & l1[1] != l2[0]) {
document.getElementById("res").innerHTML = "Numbers Matched: 1\nPosition Matched: 1";
}
else if (l1[1] == l2[0] & l1[0] != l2[0]) {
document.getElementById("res").innerHTML = "Numbers Matched: 1\nPosition Matched: 0";
}
else if (l1[0] == l2[0] & l1[1] == l2[0]) {
document.getElementById("res").innerHTML = "Numbers Matched: 1\nPosition Matched: 0";
}
else {
document.getElementById("res").innerHTML = "Numbers Matched: 0\nPosition Matched: 0";
}
}
else if (l1[0] != l2[0]) {
document.getElementById("res").innerHTML = "Numbers Matched: 0\nPosition Matched: 0";
}
}
else if (l2.length == 2 & l1.length == l2.length) {
if (l1[0] == l2[0] | l1[1] == l2[1]) {
document.getElementById("res").innerHTML = "Numbers Matched: 1\nPosition Matched: 0";
}
else if (l1[0] == l2[1] & l1[1] == l2[0]) {
document.getElementById("res").innerHTML = "Numbers Matched: 2\nPosition Matched: 0";
}
else if (l1[0] == l2[1] | l1[1] == l2[0]) {
document.getElementById("res").innerHTML = "Numbers Matched: 1\nPosition Matched: 0";
}
else {
document.getElementById("res").innerHTML = "Numbers Matched: 0\nPosition Matched: 0";
}
}
else if (l1.length == 2 & l1.length > l2.length) {
if (l1[0] == l2[0] & l1[1] != l2[0]) {
document.getElementById("res").innerHTML = "Numbers Matched: 1\nPosition Matched: 1";
}
else if (l1[1] == l2[0] & l1[0] != l2[0]) {
document.getElementById("res").innerHTML = "Numbers Matched: 1\nPosition Matched: 0";
}
}
else if (l2.length == 2 & l1.length < l2.length) {
if (l1[0] == l2[0]) {
document.getElementById("res").innerHTML = "Numbers Matched: 1\nPosition Matched: 1";
}
else if (l1[0] == l2[1]) {
document.getElementById("res").innerHTML = "Numbers Matched: 1\nPosition Matched: 0";
}
else if (l1[0] != l2[0] & l1[0] != l2[1]) {
document.getElementById("res").innerHTML = "Numbers Matched: 0\nPosition Matched: 0";
}
}
}
}
<!DOCTYPE html>
<html lang="en">
<head>
<link rel="stylesheet" href="com_hrd.css" />
<title>GUESS</title>
<script type="text/javascript" src="com_hrd.js"></script>
</head>
<body>
<h1 id="a1">GUESS</h1>
<h1 id="a2">_Hard</h1>
<h2 id="a3">Hello <span id="res1"></span></h2>
<div class="hr2"></div>
<button type="submit" id="f1" onclick="msg()">
Generate
</button>
<div id="res5"></div>
<div id="res6"></div>
<div id="res"></div>
<h2 id="a3_1">Enter Your Lucky Number></h2>
<h2 id="a3_2">To Start Game:=></h2>
<div id="snackbar">
Number generated...Enter the Number
</div>
<input type="number" id="a4" />
<button
type="submit"
id="a5"
onclick="cal(document.getElementById('a4').value)"
>
Check
</button>
</body>
</html>
Upvotes: 1
Reputation: 535
You have an illegal break statement within that function, but that doesn't explain the error you're getting. something else must be wrong with your environment. I'd check to make sure your JS file is actually in the location referenced by your HTML. Working fiddle for reference (with the illegal break fixed): https://jsfiddle.net/keegangbrown/deapmrjo/
<h1 id="a1">GUESS</h1>
<h1 id="a2">_Hard</h1>
<h2 id="a3">Hello <span id="res1"></span></h2>
<div class="hr2"></div>
<button type="submit" id="f1" onclick="msg()">
Generate
</button>
<div id="res5"></div>
<div id="res6"></div>
<div id="res"></div>
<h2 id="a3_1">Enter Your Lucky Number></h2>
<h2 id="a3_2">To Start Game:=></h2>
<div id="snackbar">
Number generated...Enter the Number
</div>
<input type="number" id="a4" />
<button
type="submit"
id="a5"
onclick="cal(document.getElementById('a4').value)"
>
Check
</button>
document.getElementById("res1").innerHTML = localStorage.getItem("textvalue3");
function generate() {
var N = Math.floor(Math.random() * 100) + 1;
return N;
}
function msg() {
var x = document.getElementById("snackbar");
x.className = "show";
setTimeout(function () { x.className = x.className.replace("show", ""); }, 3000);
}
var Num = generate();
function cal(a) {
N1 = a;
// N1 = parseInt(document.getElementById("a4").value);
if (N1 == Num) {
document.getElementById("res").innerHTML = "BINGO!!! You Won!! \n Reload the Page \n To play Again";
return;
}
else {
l1 = [];
a1 = N1.toString();
for (var i = 0, len = a1.length; i < len; i += 1) {
l1.push(+a1.charAt(i));
}
l2 = [];
a2 = Num.toString();
for (var j = 0, len = a2.length; j < len; j += 1) {
l2.push(+a2.charAt(j));
}
if (l2.length == 1) {
if (l1.length == 2) {
if (l1[0] == l2[0] & l1[1] != l2[0]) {
document.getElementById("res").innerHTML = "Numbers Matched: 1\nPosition Matched: 1";
}
else if (l1[1] == l2[0] & l1[0] != l2[0]) {
document.getElementById("res").innerHTML = "Numbers Matched: 1\nPosition Matched: 0";
}
else if (l1[0] == l2[0] & l1[1] == l2[0]) {
document.getElementById("res").innerHTML = "Numbers Matched: 1\nPosition Matched: 0";
}
else {
document.getElementById("res").innerHTML = "Numbers Matched: 0\nPosition Matched: 0";
}
}
else if (l1[0] != l2[0]) {
document.getElementById("res").innerHTML = "Numbers Matched: 0\nPosition Matched: 0";
}
}
else if (l2.length == 2 & l1.length == l2.length) {
if (l1[0] == l2[0] | l1[1] == l2[1]) {
document.getElementById("res").innerHTML = "Numbers Matched: 1\nPosition Matched: 0";
}
else if (l1[0] == l2[1] & l1[1] == l2[0]) {
document.getElementById("res").innerHTML = "Numbers Matched: 2\nPosition Matched: 0";
}
else if (l1[0] == l2[1] | l1[1] == l2[0]) {
document.getElementById("res").innerHTML = "Numbers Matched: 1\nPosition Matched: 0";
}
else {
document.getElementById("res").innerHTML = "Numbers Matched: 0\nPosition Matched: 0";
}
}
else if (l1.length == 2 & l1.length > l2.length) {
if (l1[0] == l2[0] & l1[1] != l2[0]) {
document.getElementById("res").innerHTML = "Numbers Matched: 1\nPosition Matched: 1";
}
else if (l1[1] == l2[0] & l1[0] != l2[0]) {
document.getElementById("res").innerHTML = "Numbers Matched: 1\nPosition Matched: 0";
}
}
else if (l2.length == 2 & l1.length < l2.length) {
if (l1[0] == l2[0]) {
document.getElementById("res").innerHTML = "Numbers Matched: 1\nPosition Matched: 1";
}
else if (l1[0] == l2[1]) {
document.getElementById("res").innerHTML = "Numbers Matched: 1\nPosition Matched: 0";
}
else if (l1[0] != l2[0] & l1[0] != l2[1]) {
document.getElementById("res").innerHTML = "Numbers Matched: 0\nPosition Matched: 0";
}
}
}
}
Upvotes: 1
Reputation: 17590
write return
rather than break
in cal()
function. It is illegal used.
if (N1 == Num) {
document.getElementById("res").innerHTML = "BINGO!!! You Won!! \n Reload the Page \n To play Again";
return;
}
Upvotes: 1