Javascript 如何显示错误消息?

Javascript How do I display an error message?

各位,我是 Javascript 的新手,尤其是使用 DOM 所以现在是我决定将我一直在学习的所有东西投入工作的时候了,但是现在,我我遇到了一个问题。

基本上,当用户在 textArea 中超过 180 个字符时,我试图显示一条错误消息,但是,我似乎无法输出预期的结果。

使用 if 语句和 textContent 我无法解决这个问题。我究竟做错了什么?请帮助和感谢。

代码如下:

<html>
 <head>
   <title>JavaScript &amp; jQuery - Chapter 6: Events - Keypress</title>
 </head>
 <body>
   <div id="page">
     <h1>List King</h1>
     <form id="messageForm">
       <h2>My profile</h2>
       <textarea id="message"></textarea>
       <div id="charactersLeft">180 characters</div>
       <div id="feedback"></div>
       <div id="lastKey"></div>
     </form>
   </div>
   <script src="key.js"></script>
 </body>
</html> 


var el;

function charCount(e) {
   var textEntered, charDisplay, counter, lastKey, feedback;
   textEntered = document.getElementById('message').value;
   charDisplay = document.getElementById('charactersLeft');
   counter = (180 - (textEntered.length));
   charDisplay.textContent = counter;
   lastKey = document.getElementById('lastKey');
   lastKey.textContent = ' Last key in ASCII code: ' + e.keyCode;

   // Displays error message
   var feedback = document.getElementById('feedback');

   if(counter.value.length <= feedback) {
   feedback.textContent = ' characters must be 180 or less'; }
   else {
       feedback.textContent = '';
   }

   }


el = document.getElementById('message');
el.addEventListener('keyup', charCount, false); 

您正在尝试将数字 (counter.value.length) 中不存在的路径与 if(counter.value.length <= feedback) 处的 dom 元素 (feedback = document.getElementById()) 进行比较。

您的计数器已经是一个数字 counter = 180 - textEntered.length

您可能还想设置一个 var maxLength = 180,那么:

if (counter <= maxLength) {
  feedback.textContent = ' characters must be 180 or less'
} else {
  feedback.textContent = ''
}