从textfield到javascript的派生值(DOM问题)!
在回文检查器中,我无法从HTML输入文本字段中获取值。我尝试了各种方法,包括查询选择器。但尽管如此,它仍在发挥作用。GetValidator元素在文档中是。。。是空的 我需要找出我的代码有什么问题。我的DOM有什么问题吗 回文检查器 -> var i=document.getElementById'boiler'。值; 功能检查{ rev; 如果i==rev{ alerti+是回文; }否则{ alerti+不是回文 } } 功能版本{ i=i+; 返回i.split.reverse.join; } 回文检查器 -字数限制18000从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
将脚本更新为以下内容
<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-很高兴听到这个。非常感谢。