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
asked Jan 21, 2014 at 7:06
Chinmay235
3,4448 gold badges65 silver badges99 bronze badges
3 Answers 3
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");
}
}
Chinmay235
3,4448 gold badges65 silver badges99 bronze badges
answered Jan 21, 2014 at 7:10
Sarath
9,17612 gold badges55 silver badges86 bronze badges
Sign up to request clarification or add additional context in comments.
5 Comments
Chinmay235
Showing Wrong result if i entered 2 it is showing
alert("You have entered wrong number"); Sarath
first check you are getting the field_val properly ?
Sarath
var field_val = +v; // convert value to number from stringSarath
try this to convert the string value to numner
Chinmay235
Yes it works I have using field_val = parseInt(v); Also your code is working Thanks....
You can use document.getElementById onblur I have created a JSFiddle
answered Jan 21, 2014 at 7:33
Prateek
6,9852 gold badges27 silver badges37 bronze badges
Comments
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");
}
}
answered Jan 21, 2014 at 7:12
amit_183
9813 gold badges19 silver badges36 bronze badges
3 Comments
Chinmay235
I have entered 8 it is Showing the alert message
alert("You have entered wrong number"); amit_183
it will give u the alert("You have entered wrong number"); becoz u are entering the position no in the array to be assesed and not the no. 8
Chinmay235
:P How to match the array value with my field value?
lang-js
if (myArray.indexOf(field_val) !== -1).indexOf()for Internet Explorer < 9: developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/…