javascript中的简单年龄验证

javascript中的简单年龄验证,javascript,html,Javascript,Html,我是一个完全的Js noob,我试图制作一个简单的脚本,从两个输入标记中获取值,并根据它们的值更改一个p标记。我可能只是没有使用正确的语法,但我在网上找不到如何做到这一点的答案 剧本应该像是r级电影的年龄验证。第一个输入是年龄,第二个输入是客户是否有成年人陪伴,如果他们未成年 <pre> <!DOCTYPE html> <html> <input type="text" id="age" value="your age"> <

我是一个完全的Js noob,我试图制作一个简单的脚本,从两个输入标记中获取值,并根据它们的值更改一个p标记。我可能只是没有使用正确的语法,但我在网上找不到如何做到这一点的答案

剧本应该像是r级电影的年龄验证。第一个输入是年龄,第二个输入是客户是否有成年人陪伴,如果他们未成年

<pre>
<!DOCTYPE html>
<html>
    <input type="text" id="age" value="your age">
    <input type="text" id="adult" value="(y or n)">
    <input type="button" onclick="checkAge()" value="submit">
<p id="answer"></p>
<script>
var age = document.getElementById("age").innerHTML;
var adult = document.getElementById("adult").innerHTML;
var result = document.getElementById("answer").innerHTML;
var oldEnough = false;
function checkAge(){
    if(age.value >= 18){
        oldEnough = true;
    }
    else{
        oldEnough = false;
    }
    if(oldEnough == false){
        if(adult.value == "y"){
            result = "You are not old enough, but have an adult with you.";
        }
        else{
            result = "You are not old enough and are unaccompanied."
        }
    }
    else{
        result = "You are old enough."
    }
}
</script>
</html>
</pre>

var age=document.getElementById(“age”).innerHTML; var成人=document.getElementById(“成人”).innerHTML; var result=document.getElementById(“答案”).innerHTML; var oldEnough=假; 函数检查(){ 如果(年龄值>=18){ 足够大=正确; } 否则{ 足够大=错误; } 如果(足够长==false){ 如果(成人值=“y”){ 结果=“您的年龄还不够大,但有一名成年人陪伴。”; } 否则{ result=“您年龄不够大,无人陪伴。” } } 否则{ result=“您已经足够大了。” } }
  • 不要对输入元素调用
    .innerHTML
    。只需将变量设置为指向元素

  • 分配结果时,需要在分配时使用
    result.innerHTML
    。将
    .innerHTML
    赋值给变量只会将元素的当前内容复制为字符串,而不会使
    result
    引用
    innerHTML
    属性

  • 您应该在
    age
    上调用
    parseInt
    ,因为
    .value
    是一个字符串

  • 函数检查(){
    var age=document.getElementById(“age”);
    var成人=document.getElementById(“成人”);
    var oldEnough=假;
    var result=document.getElementById(“答案”)
    if(parseInt(age.value,10)>=18){
    足够大=正确;
    }否则{
    足够大=错误;
    }
    如果(足够长==false){
    如果(成人值=“y”){
    result.innerHTML=“您的年龄还不够大,但身边有一位成年人。”;
    }否则{
    result.innerHTML=“您年龄不够大,无人陪伴。”
    }
    }否则{
    result.innerHTML=“您已经足够大了。”
    }
    }
    
    

    如果将输入元素放在表单中,则可以更容易地访问它们,并且逻辑可以更简单。此外,请确保使用适当的元素和属性,例如,不要将值用作占位符,它应该是适当的默认值(如果有)

    不要用占位符代替标签,占位符只能作为所需内容类型的提示,不能代替标签

    功能检查(按钮){
    var form=button.form;
    var result=document.getElementById(“答案”);
    result.innerHTML=form.age.value>=18?“您已经足够大了。”
    form.madure.checked?“您还不够大,但有一个成年人在身边。”
    “你还不够大,没有人陪伴。”;
    }
    
    年龄:
    成人:
    


    提醒:Java!=Javascript如果您需要添加额外的解释,请将其编辑到问题中,而不是注释中。因此
    document.getElementById(“age”).innerHTML
    应该是
    document.getElementById(“age”).value
    (其他值相同)。您还需要在函数中设置这些变量。如果您将输入元素放入表单中,处理会容易得多。