从textfield到javascript的派生值(DOM问题)!

从textfield到javascript的派生值(DOM问题)!,javascript,html,validation,dom,runtime-error,Javascript,Html,Validation,Dom,Runtime Error,在回文检查器中,我无法从HTML输入文本字段中获取值。我尝试了各种方法,包括查询选择器。但尽管如此,它仍在发挥作用。GetValidator元素在文档中是。。。是空的 我需要找出我的代码有什么问题。我的DOM有什么问题吗 回文检查器 -> var i=document.getElementById'boiler'。值; 功能检查{ rev; 如果i==rev{ alerti+是回文; }否则{ alerti+不是回文 } } 功能版本{ i=i+; 返回i.split.reverse.join

在回文检查器中,我无法从HTML输入文本字段中获取值。我尝试了各种方法,包括查询选择器。但尽管如此,它仍在发挥作用。GetValidator元素在文档中是。。。是空的

我需要找出我的代码有什么问题。我的DOM有什么问题吗

回文检查器 -> var i=document.getElementById'boiler'。值; 功能检查{ rev; 如果i==rev{ alerti+是回文; }否则{ alerti+不是回文 } } 功能版本{ i=i+; 返回i.split.reverse.join; } 回文检查器 -字数限制18000


将脚本更新为以下内容

<script>    
    function check_pal() {
      // move this line inside the function
      var i = document.getElementById('boiler').value; 
      // rev(); // Also removed this un-necessary call
      if (i == rev(i)) {
        alert(i + " is a palindrome");
      } else {
        alert(i + " is not a palindrome")
      }
    }

   // modify function to take input as argument rather than relying on global variable
    function rev(i) { 
      i = i + "";
      return i.split("").reverse().join("");
    }
  </script>

推理-当您手动分配i的值时,它运行正常。但是,当我们试图从getElementById读取它时,该元素当时不存在,并且它抛出了一个JS错误,无法读取null的属性“value”,因此,该错误因为我从未初始化,并且仍然未定义。将值的检索移动到函数中,在该函数中可以检索并存储最新的值。

将脚本更新为以下内容

<script>    
    function check_pal() {
      // move this line inside the function
      var i = document.getElementById('boiler').value; 
      // rev(); // Also removed this un-necessary call
      if (i == rev(i)) {
        alert(i + " is a palindrome");
      } else {
        alert(i + " is not a palindrome")
      }
    }

   // modify function to take input as argument rather than relying on global variable
    function rev(i) { 
      i = i + "";
      return i.split("").reverse().join("");
    }
  </script>
推理-当您手动分配i的值时,它运行正常。但是,当我们试图从getElementById读取它时,该元素当时不存在,并且它抛出了一个JS错误,无法读取null的属性“value”,因此,该错误因为我从未初始化,并且仍然未定义。将检索值移动到函数中,以便检索最新值并将其存储在i中。

这应该可以解决此问题:

回文检查器 -> var i; 功能检查{ i=document.getElementById'boiler'。值; rev; 如果i==rev{ alerti+是回文; }否则{ alerti+不是回文 } } 功能版本{ i=i+; 返回i.split.reverse.join; } 回文检查器 -字数限制18000

这应该解决这个问题:

回文检查器 -> var i; 功能检查{ i=document.getElementById'boiler'。值; rev; 如果i==rev{ alerti+是回文; }否则{ alerti+不是回文 } } 功能版本{ i=i+; 返回i.split.reverse.join; } 回文检查器 -字数限制18000


这对我帮助很大lot@Mukunth-很高兴听到这个。非常感谢。这对我帮助很大lot@Mukunth-很高兴听到这个。非常感谢。