簡體   English   中英

回文結果不正確。

[英]Palindrome incorrect results.

我正在嘗試創建一個回文檢查器。 現在看來,不再調用我的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);
});

您在head元素中鏈接了Javascript,因此在<button id="checkInput">進入DOM 之前就執行了Javascript。 將其移到body的末尾或defer紅色。

因為您要訪問按鈕,所以在正確加載頁面之前。

加載DOM時,您需要獲取按鈕並綁定事件處理程序。

document.addEventListener("DOMContentLoaded", function(e) {
    var el = document.getElementById("checkInput");
    el.addEventListener("click", isPalindrome);
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM