我正在尝试创建一个回文检查器。现在看来,我的lengthChecker()不再被调用,每当一个单词不是回文时,条件也不会被调用,那么就说它不是回文。可能是什么问题?回文不正确的结果。
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Lesson #6 Homework</title>
<script type="text/javascript" src="./js/palindrome.js"></script>
</head>
<body>
<h1>Is it a Palindrome?</h1>
<div id="mainCont">
<p>Hello. Please enter a word, and I'll see if it is a palindrome.</p>
<p>Word:
<input type="text" id="str" name="string" />
<button id="checkInput">Submit</button>
</p>
</div>
</body>
</html>
这里是JS截至目前:
function lengthChecker() {
var str = document.getElementById("str").value;
if (str.length > 10) {
alert("Sorry. Your input surpasses the 10 characters maximum. Please try again.")
return false;
} else if (str.length == 0) {
alert ("Sorry. Your input is too short, and doesn't meet the 10 characters maximum. Please try again.")
return false;
}
palindrome();
}
function palindrome() {
var revStr = "";
var str = document.getElementById("str").value;
var i = str.length;
for (var j = i; j >= 0; j--) {
revStr = revStr + str.charAt(j);
}
if (str == revStr) {
isPalindrome();
} else {
alert(str + " -is not a Palindrome");
}
}
function isPalindrome() {
alert(str + " is a Palindrome.");
}
document.addEventListener("DOMContentLoaded" , function(e){
var el = document.getElementById("checkInput");
el.addEventListener("click", isPalindrome);
});
似乎在这里工作? http://jsfiddle.net/ocjbzghf/ –
当我在Chrome中测试时出现此错误。另外,我在做什么来使它说[对象HTMLInputElement]是一个回文。我希望它显示用户的输入。 – user1776479
HTML从上到下加载。您的JavaScript在任何元素创建之前加载。一般来说,最好的做法是将您的脚本标签保留在您身体的尽头。这也有助于页面加载。 – saadq