用户在文本区域输入的字符数超过最大长度时出现错误消息

时间:2016-04-19 13:30:59

标签: javascript jquery html

当用户尝试超过文本区域中的最大长度时,如何向用户返回错误消息?

HTML是否有办法向用户返回错误?

5 个答案:

答案 0 :(得分:3)

maxlenght

您可以使用$("#myformid").keypress(function() { if($(this).val().length > 10) { //display your warinig the way you chose } ] }); 属性禁止输入超出预期的字符数。你不需要JS。

如果您仍想使用JS,那么:

PKIX path  building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target

答案 1 :(得分:2)

当然这是可能的! 首先,计算输入的字符,然后打印出你想要的信息(这里:“字符左:X”,我的例子中最大长度为100)。

这是JSFiddle

<强> HTML:

<textarea rows="4" cols="50" id ="yourtextarea">
</textarea>

<div id="info"></div>

<强> JS:

$("#yourtextarea").keyup(function(){
    $("#info").text("Characters left: " + (100 - $(this).val().length));
  });

答案 2 :(得分:0)

function check_length(my_form)
{
  maxLen = 50; // max number of characters allowed
  if (my_form.my_text.value.length >= maxLen) {
    var msg = "You have reached your maximum limit of characters allowed";
    alert(msg);
    my_form.my_text.value = my_form.my_text.value.substring(0, maxLen);
  }
}


<textarea onKeyPress=check_length(this.form); onKeyDown=check_length(this.form); name=my_text rows=4 cols=30></textarea>

答案 3 :(得分:0)

这里是验证用户输入而无需使用Jquery的代码。

<textarea id=txt onKeyUp=check() maxlength=10>
Abc
</textarea>
<div id=warning></div>

<script>
function check() {
    stringLength = document.getElementById('txt').value.length;
    if (stringLength >= 10) {
         document.getElementById('warning').innerText = "Maximum characters are 10"
    } else {
        document.getElementById('warning').innerText = ""
    }
}
</script>

答案 4 :(得分:0)

所有定义了 MAXLENGTH属性的输入字段的解决方案,因此您不必不必为每个元素应用 size

$("input[maxlength], textarea[maxlength]").keyup(function () {
    var max = $(this).prop('maxlength');
    if ($(this).val().length > max) {
        alert('value must be less than ' + max + ' characters');
    }
});