Mon vérificateur de palindrome n'entraîne plus la méthode suivante lengthChecker() et ne tient plus compte du fait que lorsqu'un mot n'est pas un palindrome, un message d'alerte indiquant que son palindrome n'apparaît pas. Quel pourrait être le problème? Aussi je le veux ainsi montrer l'entrée de l'utilisateur sur le message d'alerte, au lieu de [object HTMLInputElement].Numéro du vérificateur Palindrome
<!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>
Voici la JS dès maintenant:
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 {
notPalindrome();
}
}
function isPalindrome() {
alert(str + " is a Palindrome.");
}
function notPalindrome() {
alert(str + " isn't a Palindrome.");
}
document.addEventListener("DOMContentLoaded", function (e) {
var el = document.getElementById("checkInput");
el.addEventListener("click", isPalindrome);
});
Pourquoi avez-vous 'el.addEventListener ("clic", isPalindrome);'? Donc, il sortira toujours 'est un Palindrome', je suppose. –
'el.addEventListener (" clic ", lengthChecker);' [Démo] (https://jsfiddle.net/tusharj/qe777kvk/). Il y a tellement de place pour l'amélioration du code – Tushar
Pourquoi avez-vous choisi «10» comme longueur maximale? _Tattarrattat_ est un mot de 12 lettres dans l'OED qui est un palindrome, et d'autres langues ont beaucoup de longs palindromes de mot simple, par exemple le 13 long _reliefpfeiler_ dans _German_ –