Javascript 如何显示错误消息?
Javascript How do I display an error message?
各位,我是 Javascript 的新手,尤其是使用 DOM 所以现在是我决定将我一直在学习的所有东西投入工作的时候了,但是现在,我我遇到了一个问题。
基本上,当用户在 textArea 中超过 180 个字符时,我试图显示一条错误消息,但是,我似乎无法输出预期的结果。
使用 if 语句和 textContent 我无法解决这个问题。我究竟做错了什么?请帮助和感谢。
代码如下:
<html>
<head>
<title>JavaScript & 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 = ''
}
各位,我是 Javascript 的新手,尤其是使用 DOM 所以现在是我决定将我一直在学习的所有东西投入工作的时候了,但是现在,我我遇到了一个问题。
基本上,当用户在 textArea 中超过 180 个字符时,我试图显示一条错误消息,但是,我似乎无法输出预期的结果。
使用 if 语句和 textContent 我无法解决这个问题。我究竟做错了什么?请帮助和感谢。
代码如下:
<html>
<head>
<title>JavaScript & 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 = ''
}