Javascript 输入字段的属性maxlength正在更改,但输入不';我不在乎
我有一个函数来限制用户可以在我的游戏输入字段中输入的字符数。它可以工作,但如果长度减少1个或更多,用户仍然可以输入1个或更多字符,而不是他们应该能够输入的字符 我检查了检查器,它甚至显示maxlength更改正确。但是,无论出于何种原因,它仍然允许用户输入一个长度,该长度等于该变量在同一会话中所等于的最大字符数。是虫子吗?有没有办法让它正常工作Javascript 输入字段的属性maxlength正在更改,但输入不';我不在乎,javascript,jquery,input,attr,Javascript,Jquery,Input,Attr,我有一个函数来限制用户可以在我的游戏输入字段中输入的字符数。它可以工作,但如果长度减少1个或更多,用户仍然可以输入1个或更多字符,而不是他们应该能够输入的字符 我检查了检查器,它甚至显示maxlength更改正确。但是,无论出于何种原因,它仍然允许用户输入一个长度,该长度等于该变量在同一会话中所等于的最大字符数。是虫子吗?有没有办法让它正常工作 my_var = 150000; //this var changes often, can go down to 0 or up to 1000000
my_var = 150000; //this var changes often, can go down to 0 or up to 1000000000
function limitNumberOfCharacters() {
x = my_var.toString().length;
$('.my_input_class').attr('maxlength', x);
}
limitNumberOfCharacters(); //this gets called often
编辑:edittt:
您正在使用x
作为全局变量,并且可能与代码中的其他变量不同。使用var x=my_var.toString().length代码>(强调var
)
老实说,看到这段代码后,我担心会有更多的潜在问题,但我所做的只是在xyz
之前添加var
,它的工作方式与您希望的一样
还修复了上一次下注金额返回到输入字段的问题。现在,结果是一个空白字段
干杯
尝试使用此小提琴:
像在代码中一样使用html输入,无需为其指定maxlength属性
<input type="text" class="my_input_class"/>
看起来很好,为什么要将其转换为字符串并检查字符串的长度?为什么这个x=my\u var
或this$('.my\u input\u class').attr('maxlength',my\u var)代码>@codehorse Arun是正确的,您的代码正在运行。听着,不,伙计,我不认为是这样。你的代码绝对正常。这是它的提琴@codehorse如果你的数字格式像1,2,3
那么你的字符串长度总是1
。。。
my_var = 25; //this var changes often, can go down to 0 or up to 1000000000
function limitNumberOfCharacters() {
x = my_var.toString().length;
$('.my_input_class').attr('maxlength', x);
}
limitNumberOfCharacters();