【问题标题】:How to compare two values from input text?如何比较输入文本中的两个值?
【发布时间】:2021-12-05 16:02:40
【问题描述】:

我的代码有什么问题? 即使我给出了正确的答案,真正的警报也永远不会出现,0414。 只会出现误报。

var answer = String(document.getElementById('Properdate').value);
var rightanswer = '0414';
 
<input id="Properdate" type="text">

<input type="submit" value="submit" onclick="if(answer === rightanswer){
 alert('good'); } else { alert('Try again');}" >
 

【问题讨论】:

  • 你的ansver var 获取页面加载的值,而不是提交事件,并且始终是一个空字符串

标签: javascript html input text compare


【解决方案1】:

尝试使用按钮标签,因为您没有提交表单。给它一个 ID,以便您可以从 JS 文件中引用它。

HTML

<input id="properdate" type="text">
<button id="submit" type="button">Submit</button>

来自你的 JS 文件或标签。 “let”关键字让您可以在范围内使用变量,您可以声明一次并在不同的块中使用它并使用不同的值。

选择您的“提交”按钮元素并使用“addEventListener()”而不是 onclick 属性。这不会像“onclick”那样覆盖现有的事件处理程序。从那里,确保您使用的是正确的事件,在这种情况下“单击”并创建一个函数来执行您需要的任何操作。使用你的 if 子句并尽量保持干净。继续努力,伙计!

JS

<script>
    let answer = document.getElementById('properdate');
    let rightanswer = '0414';
    let submit = document.getElementById('submit');

    submit.addEventListener('click', function(){
        if(answer.value === rightanswer) {
            alert('Good');
        } else {
            alert('Try again');
        }
    });
</script>

【讨论】:

    【解决方案2】:

    我认为这是因为您仅在页面加载时才检索该值,当调用它的事件使用存储在答案中的值时,它是在页面加载时保存的值。

    <input id="Properdate" type="text">
    <script>
    var rightanswer= '0414';
    </script>
    <input type="submit" value="submit" onclick="
    var answer = String(document.getElementById('Properdate').value);
    if(answer === rightanswer){
     alert('good');
    }
    else{
    alert('Try again');}"
     >
    

    应该使用这个

    【讨论】:

      【解决方案3】:

      将代码作为onclick 放在按钮上并不是一个好主意!我做了一个例子,希望对你有用。

      例子:

      document.getElementById('sbmt').addEventListener('click', submitFunc);
      
      function submitFunc() {
          var answer = document.getElementById('Properdate').value;
          var rightanswer = '0414';
      
          if (answer === rightanswer) {
              alert('good');
          }
          else {
              alert('Try again');
          }
      }
      <input id="Properdate" type="text">
      <input id="sbmt" type="submit" value="submit">

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2017-04-10
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-11-07
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多