Reputation: 3414
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
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
Reputation: 6975
You can use document.getElementById onblur
I have created a JSFiddle
Upvotes: 2
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