我需要一些帮助来查找输入标记中的字符数,并在有一定数量时创建警报。就像有25个,然后它会创建一个警告,说" Max"。 Here是它的小提琴。这是我的一点点 -
Char.innerText = $("#input:text").val().length;
这适用于我正在使用它的内容,但是当我尝试在Char
语句中使用if
时,它无法正常工作。
答案 0 :(得分:0)
为什么不使用它:
if ($("#input:text").val().length == 25) {
alert('MAXXX');
}
答案 1 :(得分:0)
在你的keyup函数中添加if语句:
if ($("#input:text").val().length == 25){
alert("Too many characters.");
}
编辑:卢克只是打败了我,但是把它放在了JSfiddle中。
答案 2 :(得分:0)
正如Dave在评论中指出的那样,您需要确保将Char.innerText
与字符串进行比较,因为它是文本。
以下是使用if
的有效Char.innerText
语句:
if (Char.innerText == "25") {
// alert
}
或者,您可以将Char.innerText
更改为整数并与25进行比较。
答案 3 :(得分:0)
这是另一种带有事件和一些警报和输出的方法。限制是五个特征。
function textCounter2(field, counter, maxlimit) {
if (field.value.length > maxlimit) {
field.value = field.value.substring(0, maxlimit);
alert('Max!');
} else {
document.getElementById(counter).innerText = maxlimit - field.value.length;
}
}
<input name="test" onkeyup="textCounter2(this, 'subtitlecount_lbl', 5)" onchange="textCounter2(this, 'subtitlecount_lbl', 5)" /><br />
<span id="subtitlecount_lbl"></span> characters left
答案 4 :(得分:0)
由于您已经在输入元素中使用了maxlength属性,为什么不与该值进行比较,而不是将其硬编码到if语句中。
此外,不是在键盘事件上触发此操作,而该键盘事件也会检测到Tab键或其他非打印控制字符的按下,您应该使用输入事件。
$('#input:text').on('input', function checkLength() {
var max = this.getAttribute('maxlength');
if (max && this.value.length == max) {
alert('max length reached');
}
});