我需要一些幫助來查找輸入標籤中的字符數並在有一定數量時創建警報。就像有25個,那麼它會創建一個提示「Max」。 Here是它的小提琴。這是一個小的東西我have--如何查找輸入標籤中的字符數量
Char.innerText = $("#input:text").val().length;
能正常工作,爲了什麼我使用它,但是當我嘗試在if
語句中使用Char
,它不會工作。
我需要一些幫助來查找輸入標籤中的字符數並在有一定數量時創建警報。就像有25個,那麼它會創建一個提示「Max」。 Here是它的小提琴。這是一個小的東西我have--如何查找輸入標籤中的字符數量
Char.innerText = $("#input:text").val().length;
能正常工作,爲了什麼我使用它,但是當我嘗試在if
語句中使用Char
,它不會工作。
添加if語句在KEYUP功能:
if ($("#input:text").val().length == 25){
alert("Too many characters.");
}
編輯:盧克剛剛擊敗我給它,但有在哪裏把它放在JSfiddle中。
真棒,感謝您的幫助! – Moox
正如Dave在評論中指出的那樣,您需要確保將Char.innerText
與字符串進行比較,因爲它是文本。
下面是一個有效的if
語句中使用Char.innerText
:
if (Char.innerText == "25") {
// alert
}
或者,你可以改變Char.innerText
整數與25
這是比較與事件以及一些預警和輸出的另一種方法。限制是五位字符。
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
既然你已經使用input元素爲什麼不比較反對這個值,而不是硬編碼到if語句maxlength屬性。
此外,而不是在keyup事件上觸發它,該鍵盤事件也將檢測到按Tab鍵或其他非打印控制字符,您應該使用輸入事件。
$('#input:text').on('input', function checkLength() {
var max = this.getAttribute('maxlength');
if (max && this.value.length == max) {
alert('max length reached');
}
});
爲什麼不能使用'$(「#input:text」).val().length == 25'作爲條件? – Yass
jsfiddle中的內容無法正常工作? – AtheistP3ace
可能是因爲char的內容是文本,而不是整數。另外,如果你把一個alert()放在setInterval中,你就不會喜歡這個結果。嘗試這樣的:https://jsfiddle.net/hrL0ea2k/ – Dave