javascript中的简单年龄验证
我是一个完全的Js noob,我试图制作一个简单的脚本,从两个输入标记中获取值,并根据它们的值更改一个p标记。我可能只是没有使用正确的语法,但我在网上找不到如何做到这一点的答案 剧本应该像是r级电影的年龄验证。第一个输入是年龄,第二个输入是客户是否有成年人陪伴,如果他们未成年javascript中的简单年龄验证,javascript,html,Javascript,Html,我是一个完全的Js noob,我试图制作一个简单的脚本,从两个输入标记中获取值,并根据它们的值更改一个p标记。我可能只是没有使用正确的语法,但我在网上找不到如何做到这一点的答案 剧本应该像是r级电影的年龄验证。第一个输入是年龄,第二个输入是客户是否有成年人陪伴,如果他们未成年 <pre> <!DOCTYPE html> <html> <input type="text" id="age" value="your age"> <
<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
(其他值相同)。您还需要在函数中设置这些变量。如果您将输入元素放入表单中,处理会容易得多。