Javascript 如何比较用户';输入DOM中段落的文本长度

Javascript 如何比较用户';输入DOM中段落的文本长度,javascript,html,dom,input,Javascript,Html,Dom,Input,我一直在尝试创建一个应用程序,将用户的答案与句子中的字母数进行比较 如果猜对了,总是会说“不” HTML 您在表单提交之前评估输入的长度,并将输入的长度与.cat值的长度进行比较,而不是将输入解析为整数并与.cat的长度进行比较 const form=document.getElementById(“表单”); const cat=document.querySelector('.cat').textContent.length; const guess=document.getElement

我一直在尝试创建一个应用程序,将用户的答案与句子中的字母数进行比较

如果猜对了,总是会说“不”

HTML


您在表单提交之前评估输入的长度,并将输入的长度与
.cat
值的长度进行比较,而不是将输入解析为整数并与
.cat
的长度进行比较

const form=document.getElementById(“表单”);
const cat=document.querySelector('.cat').textContent.length;
const guess=document.getElementById(“guess”);
表格.附录列表(“提交”,功能(e){
e、 预防默认值();
常量结果=(parseInt(guess.value)==cat)?(“是”):(“否”);
控制台日志(结果);
返回结果;
});

获得价值
提交表单时,需要计算输入的长度。在将猜测值与短语长度进行比较之前,还需要将猜测值解析为整数

constphrase=document.querySelector('.phrase');
document.forms['guess-form']
.addEventListener('submit',e=>{
e、 预防默认值();
常数
guess=e.target.elements.guess,//e.target==form
isValid=parseInt(guess.value,10)==phrase.textContent.length;
log(isValid?'yes':'no');
返回有效;
});
短语:“猫”

提交
在提交表单之前,您输入的值的长度会被评估。应该在提交时进行评估。不相关的命名/概念问题:我不会调用字符串的长度
cat
(与
guess
相同)。可能会抓取元素并根据需要计算长度(如答案所示)或者使用变量名使其显式。这使代码更容易思考。是的,这是一个很好的观点哦,非常感谢。我以前尝试过对其进行解析,但最终在提交之前也进行了解析,因此得到了相同的结果
<body>
    <div>
        <p class="cat">cat</p>
        <form id="Form">
            <input type="number" placeholder="Enter a number" id="guess" value="">
            <button type="submit" >Get Value</button>
        </form>
    </div>
    <script src="apps.js"></script>
</body>
</html> 
let form = document.getElementById("Form");
let guess = document.getElementById("guess").value.length;
let cat = document.querySelector('.cat').textContent.length;    

form.addEventListener("submit", function (e) {
    e.preventDefault();
    let result;
     if (cat === guess){
        result= "yes";
    } else {
        result= "no";
            
     } 
        console.log(result);  
        return  result;
        
    });