dj0965
dj0965

Reputation: 135

Javascript function not working and the console says it isn't defined

I have a function that I made in Javascript and My html file has

<script type="text/javascript" src="javascript.js"></script>

in it. The Javascript function on that page isn't working, and the console is saying the function is not defined. I am wondering what I am doing wrong, and any input would be greatly appreciated.

var player = 0;
var xvalue = 0;
var ovalue = 0;
function tic(a) 
{
    if(player === 0)
    {
        document.getElementById(a).value = 'X';
        document.getElementById(a).disabled = 'true';
        player = 1;
        if(a === 'aa'){
            var i = 1;
            for(i = 1; i <= 1; i++; ){
                xvalue++;
            }
        }
        else if(a === 'ab'){
            var i = 1;
            for(i = 1; i <= 2; i++; ){
                xvalue++;
            }
        }
        else if(a === 'ac'){
            var i = 1;
            for(i = 1; i <= 4; i++; ){
                xvalue++;
            }
        }
        else if(a === 'ba'){
            var i = 1;
            for(i = 1; i <= 8; i++; ){
                xvalue++;
            }
        }
        else if(a === 'bb'){
            var i = 1;
            for(i = 1; i <= 16; i++; ){
                xvalue++;
            }
        }
        else if(a === 'bc'){
            var i = 1;
            for(i = 1; i <= 32; i++; ){
                xvalue++;
            }
        }
        else if(a === 'ca'){
            var i = 1;
            for(i = 1; i <= 64; i++; ){
                xvalue++;
            }
        }
        else if(a === 'cb'){
            var i = 1;
            for(i = 1; i <= 128; i++; ){
                xvalue++;
            }
        }
        else if(a === 'cc'){
            var i = 1;
            for(i = 1; i <= 256; i++; ){
                xvalue++;
            }
        }
        if(xvalue === 448){
            alert("player 1 wins!");
        }
        else if(xvalue === 7){
            alert("player 1 wins!");
        }
        else if(xvalue === 56){
            alert("player 1 wins!");
        }
        else if(xvalue === 273){
            alert("player 1 wins!");
        }
        else if(xvalue === 84){
            alert("player 1 wins!");
        }
        else if(xvalue === 73){
            alert("player 1 wins!");
        }
        else if(xvalue === 146){
            alert("player 1 wins!");
        }
        else if(xvalue === 292){
            alert("player 1 wins!");
        }
    }
    else
    {
        document.getElementById(a).value = 'O';
        document.getElementById(a).disabled = 'true';
        player = 0;
    }
}

Upvotes: 0

Views: 1130

Answers (2)

mrdeveloper
mrdeveloper

Reputation: 538

Syntax for For loop is

for(initialization;condition;increment)

you have used wrong Syntax in every for loop

So Remove ; after increment

for(i = 1; i <= 64; i++; )

to

for(i = 1; i <= 64; i++)

Upvotes: 1

Abdennour TOUMI
Abdennour TOUMI

Reputation: 93163

i run your script i get : SyntaxError: Unexpected token ;

So , you error in loops:

 for(i = 1; i <= 256; i++; ){

the right way is :

 for(i = 1; i <= 256; i++ ){

REmove ;

Hence , the right code is :

var player = 0;
var xvalue = 0;
var ovalue = 0;
function tic(a) 
{
    if(player === 0)
    {
        document.getElementById(a).value = 'X';
        document.getElementById(a).disabled = 'true';
        player = 1;
        if(a === 'aa'){
            var i = 1;
            for(i = 1; i <= 1; i++ ){
                xvalue++;
            }
        }
        else if(a === 'ab'){
            var i = 1;
            for(i = 1; i <= 2; i++ ){
                xvalue++;
            }
        }
        else if(a === 'ac'){
            var i = 1;
            for(i = 1; i <= 4; i++ ){
                xvalue++;
            }
        }
        else if(a === 'ba'){
            var i = 1;
            for(i = 1; i <= 8; i++ ){
                xvalue++;
            }
        }
        else if(a === 'bb'){
            var i = 1;
            for(i = 1; i <= 16; i++ ){
                xvalue++;
            }
        }
        else if(a === 'bc'){
            var i = 1;
            for(i = 1; i <= 32; i++ ){
                xvalue++;
            }
        }
        else if(a === 'ca'){
            var i = 1;
            for(i = 1; i <= 64; i++ ){
                xvalue++;
            }
        }
        else if(a === 'cb'){
            var i = 1;
            for(i = 1; i <= 128; i++ ){
                xvalue++;
            }
        }
        else if(a === 'cc'){
            var i = 1;
            for(i = 1; i <= 256; i++ ){
                xvalue++;
            }
        }
        if(xvalue === 448){
            alert("player 1 wins!");
        }
        else if(xvalue === 7){
            alert("player 1 wins!");
        }
        else if(xvalue === 56){
            alert("player 1 wins!");
        }
        else if(xvalue === 273){
            alert("player 1 wins!");
        }
        else if(xvalue === 84){
            alert("player 1 wins!");
        }
        else if(xvalue === 73){
            alert("player 1 wins!");
        }
        else if(xvalue === 146){
            alert("player 1 wins!");
        }
        else if(xvalue === 292){
            alert("player 1 wins!");
        }
    }
    else
    {
        document.getElementById(a).value = 'O';
        document.getElementById(a).disabled = 'true';
        player = 0;
    }
}

Upvotes: 1

Related Questions