18910140161

JavaScript-我的输入不是't传递我想要的文本-堆栈溢出

顺晟科技

2022-10-18 12:43:17

149

你们好啊!

我是编码新手,我试着做一个“实现”。一个项目从FreeCodeCamp到一个独立的HTML项目,但我有一个大问题,不知道为什么。按钮正在工作,我认为字符串已经被选中,但代码没有回复,最奇怪的是,在FreeCodeCamp的编译器中,它可以工作。

我需要帮助!看看我的代码

// This is a script from a palindrome checker, in freeCodeCamp; has been turned on a website checker.

function palindrome() {
  var verify = [];

  alert("the problem isn't button")
  
  // Variables from HTML

  var str = document.getElementById("palind").value;

  // Ignore symbols and replace it, looking only at letters/numbers

  var pieces = str
    .toLowerCase()
    .replaceAll("-", "")
    .replaceAll("_", "")
    .replaceAll('/', "")
    .replaceAll("(", ")")
    .replaceAll(".", '')
    .replaceAll(",", "")
    .replaceAll(" ", '')
    .split('')


  // For loop verify if has symmetry in the letters

  for (let i = 0; i < pieces.length; i++) {
    if (pieces[0 + i] == pieces[(pieces.length - 1) - i]) {
      verify.push(true);
    } else {
      verify.push(false);
    }
  }

  // Conditional replies 

  if (verify.includes(false)) {
    alert("Nope, this isn't a palindrome!");
  }
  if (verify.includes(true)) {
    alert("Yes, this is a palindrome!");
  } else {
    alert("Invalid entry");
  }
}
<代码>#PALIND{颜色:黑色;}#点击我{颜色:黑色;}
<代码><;!文档类型HTML>;<;HTML Lang=“ en ”>;<;头部>;<;元字符集=“ UTF-8 ”>;<;meta HTTP-equiv=“ X-ua-compatible ” content=“ ie=edge ”>;<;meta name=“ viewport ” content=“ width=device-width,initial-scale=1.0 ”>;<;link rel=“ stylesheet ” href=“ style.CSS ”>;<;链接href=“ https://fonts.google.com/specimen/hahmlet ” rel=“ stylesheet ” type=“ text/CSS ”>;<;标题>;回文<;/标题>;<;script type=“ text/JavaScript ” SRC=“ palindrome.JS ”>;<;/script>;<;/标题>;<;身体>;<;DIV类=“内容”>;<;表单>;<;input ID=“ palind ” type=“ text ” placeholder=“输入您的回文:”必填>;<;P>;这是回文吗?<;/p>;<;input ID=“ clickme ” type=“ button ” value=“选中它!” onclick=“ palindrome()”/>;<;/表单>;<;/DIV>;<;/正文>;<;/HTML>;


顺晟科技:

如果我正确理解了你的问题,问题是如果你不输入回文,首先会弹出“不”,然后出现“是”。

要解决此问题,可以在显示停止函数执行的检查结果的行的末尾添加#palind { color: black; } #clickme { color: black; }语句。你的JS最后会是这样的:

<!DOCTYPE HTML>
<HTML lang="en">

<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <link rel="stylesheet" href="style.css">
  <link href="https://fonts.google.com/specimen/Hahmlet" rel="stylesheet" type="text/css">
  <title>Palindrome</title>
  <script type="text/javascript" src="palindrome.js"></script>
</head>

<body>
  <div class="content">
    <forms>
      <input id="palind" type="text" placeholder="Input your palindrome:" required>
      <p>This is a palindrome?</p>
      <input id="clickme" type="button" value="Check It!" onclick="palindrome()" />
    </forms>
  </div>
</body>

</html>

这将显示结果,然后退出函数以防止进一步执行。另一种方法是将第二个break语句替换为// Conditional replies if (verify.includes(false)) { alert("Nope, this isn't a palindrome!"); break; } if (verify.includes(true)) { alert("Yes, this is a palindrome!"); break; } else { alert("Invalid entry"); } 语句,如下所示:

if

else if

我希望我能帮助你,祝您在学习编程

的过程中获得更多乐趣
  • TAG:
相关文章
我们已经准备好了,你呢?
2024我们与您携手共赢,为您的企业形象保驾护航