JAVASCRIPT-未捕获类型错误:无法读取属性';价值';空的 Javascript表单测试 名称: 电子邮件: 电话: ? phonenum=document.getElementById(“dvr”).value.length; 函数validatePhone(){ 如果(phonenum==10){ document.getElementById('phoneval').innerhtml=“
add 到脚本的末尾(您定义了函数,但从未调用过它),并将innerhtml更改为innerhtmlJAVASCRIPT-未捕获类型错误:无法读取属性';价值';空的 Javascript表单测试 名称: 电子邮件: 电话: ? phonenum=document.getElementById(“dvr”).value.length; 函数validatePhone(){ 如果(phonenum==10){ document.getElementById('phoneval').innerhtml=“,javascript,html,Javascript,Html,add 到脚本的末尾(您定义了函数,但从未调用过它),并将innerhtml更改为innerhtml <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>Javascript Form Testing</title> </head> <body> Name: <input type="text" na
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Javascript Form Testing</title>
</head>
<body>
Name: <input type="text" name="Name" value="Name" id="fname"> <br>
Email: <input type="text" name="Email" value="Email" id="mail" > <br>
Phone: <input type="text" name="Number" value="Phone Number" id="dvr" onchange="validatePhone();">
<span id="phoneval"> ?</span>
<script type="text/javascript">
phonenum = document.getElementById("dvr").value.length;
function validatePhone() {
if (phonenum == 10){
document.getElementById('phoneval').innerhtml="<-- Valid";
}
else{
document.getElementById('phoneval').innerhtml="<-- Not Valid";
}
}
</script>
</body>
</html>
将innerhtml更改为innerhtml编辑:
工作原理稍有不同的实现:确保在HTML之后加载JS,或者使用window.onload
原始答案:
您需要在验证函数中获取长度:
validatePhone();
函数validatePhone(){
var phonenum=document.getElementById(“dvr”).value.length;//将其移到此处
如果(phonenum==10){
document.getElementById('phoneval').innerHTML=“编辑:
工作原理稍有不同的实现:确保在HTML之后加载JS,或者使用window.onload
原始答案:
您需要在验证函数中获取长度:
validatePhone();
函数validatePhone(){
var phonenum=document.getElementById(“dvr”).value.length;//将其移到此处
如果(phonenum==10){
document.getElementById('phoneval').innerHTML=“我不想提交答案,因为我实际上在atm上工作。首先,最重要的是没有任何东西在调用validatePhone()。如果您只想在加载dom后(但在加载资产之前)立即运行它,那么您可以将调用放到validatePhone())
之前,但您可能希望在表单提交事件期间运行所有这些JavaScript是区分大小写的,它应该是innerHTML
我不想提交答案,因为我实际上在atm上工作。首先,重要的是,如果您只想在加载dom后立即运行validatePhone(),那么就没有调用validatePhone()(但在加载资产之前)您可以将调用放在validatePhone()上
之前,但您可能希望在表单提交事件期间运行所有这些JavaScript是区分大小写的,它应该是innerHTML
不要忘记phonenum的赋值在函数之外。好的,这似乎在一定程度上可行,但它不会在更改时更新?(或模糊,或其他)要使onchange起作用,需要将var phonenum=document.getElementById(“dvr”).value.length;移动到validatePhone函数中(如Adam Heath的回答中所示),这样它就可以得到电话号码的更新值。别忘了phonenum的赋值在函数之外。好吧,这似乎在一定程度上是可行的,但它不会在更改时更新?(或模糊,或其他任何情况)要使onchange起作用,您需要移动var phonenum=document.getElementById(“dvr”).value.length;输入validatePhone函数(如Adam Heath的回答),这样它就可以得到电话号码的更新值。如果我们在函数外部指定var phonenum
会怎么样。我认为这样也可以。是的,只要你得到长度(和值)在函数内。如果我们在函数外定义一些变量,那么它的作用域将是全局的,可以在任何函数中使用。请参阅如何确保在HTML之后加载JS?有没有办法。AFAIT JS总是在PageLoad之后加载谢谢,这很有效。我想我理解它,所以当输入发生变化时,它会运行function?如果我们在函数外赋值var phonenum
呢。我认为这样也可以。是的,只要你得到长度(和值)在函数内。如果我们在函数外定义一些变量,那么它的作用域将是全局的,可以在任何函数中使用。请参阅如何确保在HTML之后加载JS?有没有办法。AFAIT JS总是在PageLoad之后加载谢谢,这很有效。我想我理解它,所以当输入发生变化时,它会运行fu什么?