[英]Javascript How do I display an error message?
everyone, I'm fairly new to Javascript especially using the DOM so now came the time where I decided to put everything i've been learning to work, but now, I'm stuck on a problem.各位,我对 Javascript 还很陌生,尤其是使用 DOM,所以现在我决定把我一直在学习的所有东西都放在一起工作,但是现在,我遇到了一个问题。
Basically, i'm trying to display an error message once the user exceeds 180 characters in the textArea, however, I can't seem to output the expected result.基本上,一旦用户在 textArea 中超过 180 个字符,我就会尝试显示错误消息,但是,我似乎无法输出预期的结果。
Using the if statement and textContent i am unable to get solve this.使用 if 语句和 textContent 我无法解决这个问题。 What am I doing wrong?我究竟做错了什么? please help and thanks.请帮助和感谢。
here is the code:这是代码:
<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);
You are trying to compare a path that doesn't exist in a number (counter.value.length)
to a dom element (feedback = document.getElementById())
at if(counter.value.length <= feedback)
.您正在尝试将数字(counter.value.length)
中不存在的路径与if(counter.value.length <= feedback)
处的 dom 元素(feedback = document.getElementById())
进行比较。
Your counter is a number already counter = 180 - textEntered.length
.您的计数器已经是一个数字counter = 180 - textEntered.length
。
You probably want to set a var minLength = 180
as well, then:您可能还想设置var minLength = 180
,然后:
if (counter <= minLength) {
feedback.textContent = ' characters must be 180 or less'
} else {
feedback.textContent = ''
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.