Chinmay235
Chinmay235

Reputation: 3414

Javascript array not getting the array result

HTML:

<input type="text" onblur="tournamentPrize(this.value);" placeholder="Player Number" id="player_number" name="data[Tournament][player_number]"> 

Javascript:

function tournamentPrize(v){
        var myArray=[2, 4, 8, 16, 32, 64, 128];
        var field_val = v;
        if(myArray.indexOf(field_val)==-1){ //alert(myArray.indexOf(field_val));
            if(field_val==2){
                $('#_1st_prize').removeAttr('disabled');                
                $('#_2nd_prize').attr('disabled','disabled');
                $('#_2nd_prize').val('');               
                $('#_3rd_prize').attr('disabled','disabled');
                $('#_3rd_prize').val('');
                $('#_4th_prize').attr('disabled','disabled');
                $('#_4th_prize').val('');               
                $('#rest_prize').attr('disabled','disabled');
                $('#rest_prize').val('');
            }else if(field_val==4){
                $('#_1st_prize').removeAttr('disabled');                
                $('#_2nd_prize').removeAttr('disabled');            
                $('#_3rd_prize').attr('disabled','disabled');
                $('#_3rd_prize').val('');
                $('#_4th_prize').attr('disabled','disabled');
                $('#_4th_prize').val('')
                $('#rest_prize').removeAttr('disabled');
            }else{
                           alert("You have entered "+field_val+" number");
            }
        }
        else{
            alert("You have entered wrong number"); 
        }
    }

I have calling tournamentPrize() function in onblur this field when i entered any number it is not showing the proper result. always display -1

I want to get my proper result when i will enter 2,4,8,16,32,64 and 128 But if i am entered any number except above number the result also showing wrong.

Suppose i want to enter 3 the alert box will be come alert("You have entered wrong number"); but it is showing alert("You have entered 3 number");

Please somebody help me

Upvotes: 1

Views: 91

Answers (3)

Sarath
Sarath

Reputation: 9156

function tournamentPrize(v){
        var myArray=[2, 4, 8, 16, 32, 64, 128];

        var field_val = +v; // convert value to number from string
        // OR var field_val = parseInt(v); OR var field_val = Number(v);

        if(myArray.indexOf(field_val) !== -1){ //entered valid value in array
            if (field_val==2) {
               ....
            } else if(field_val==4){
               .....
            } else{
               alert("You have entered "+field_val+" number");
            }
        }
        else{
            alert("You have entered wrong number"); 
        }
}

Upvotes: 2

Prateek
Prateek

Reputation: 6975

You can use document.getElementById onblur I have created a JSFiddle

Upvotes: 2

amit_183
amit_183

Reputation: 981

 function tournamentPrize(v){
    var myArray=[2, 4, 8, 16, 32, 64, 128];
    var field_val = v;
    if(myArray.indexOf(field_val)!=-1){ //alert(myArray.indexOf(field_val));
        if(field_val==2){
            $('#_1st_prize').removeAttr('disabled');                
            $('#_2nd_prize').attr('disabled','disabled');
            $('#_2nd_prize').val('');               
            $('#_3rd_prize').attr('disabled','disabled');
            $('#_3rd_prize').val('');
            $('#_4th_prize').attr('disabled','disabled');
            $('#_4th_prize').val('');               
            $('#rest_prize').attr('disabled','disabled');
            $('#rest_prize').val('');
        }else if(field_val==4){
            $('#_1st_prize').removeAttr('disabled');                
            $('#_2nd_prize').removeAttr('disabled');            
            $('#_3rd_prize').attr('disabled','disabled');
            $('#_3rd_prize').val('');
            $('#_4th_prize').attr('disabled','disabled');
            $('#_4th_prize').val('')
            $('#rest_prize').removeAttr('disabled');
        }else{
                       alert("You have entered "+field_val+" number");
        }
    }
    else{
        alert("You have entered wrong number"); 
    }
}

Upvotes: 0

Related Questions