Javascript验证不需要';由于文档的原因,无法工作。getElementsById()
我在这段代码中遇到了问题,如果我添加了我注释掉的行,表单似乎会转到我在操作中链接的页面,而没有进行验证。但是如果我不包括它,验证工作正常,警报框会显示消息。我不明白它不工作的原因Javascript验证不需要';由于文档的原因,无法工作。getElementsById(),javascript,validation,Javascript,Validation,我在这段代码中遇到了问题,如果我添加了我注释掉的行,表单似乎会转到我在操作中链接的页面,而没有进行验证。但是如果我不包括它,验证工作正常,警报框会显示消息。我不明白它不工作的原因 function validateform(){ var flag=0; var uname=document.forms["f1"]["uname"].value; var pass=document.forms["f1"]["pass"].value; var
function validateform(){
var flag=0;
var uname=document.forms["f1"]["uname"].value;
var pass=document.forms["f1"]["pass"].value;
var fname=document.forms["f1"]["fname"].value;
var lname=document.forms["f1"]["lname"].value;
var phone=document.forms["f1"]["phone"].value;
var email=document.forms["f1"]["email"].value;
var err="";
if(uname==""||uname==null) {
err+="Username cannot be left blank\n";
//document.getElementsById("uname").style.backgroundColor="red";
flag=1;
}
if(pass==""||pass==null){
err+="Password cannot be left blank\n";
flag=1;
}
if(email==""||email==null){
err+="Email cannot be left blank\n";
flag=1;
}
if(flag==0){
return true;
}else{
alert(err);
return false;
}
}
你打错了
它是document.getElementById('id')
而不是document.getElementsById
它得到一个元素,因为ID是唯一的,并且是针对单个元素的
它也被命名为getElementById
,因为不能有重复的ID。您输入了一个错误
它是document.getElementById('id')
而不是document.getElementsById
它得到一个元素,因为ID是唯一的,并且是针对单个元素的
它也被命名为getElementById
,因为不能有重复的id。id是唯一的标识符。给定id只能有一个元素。因此,通过id获取元素的方法不是复数getElementById
,而不是getElementsById
id是唯一的标识符。给定id只能有一个元素。因此,通过id获取元素的方法不是复数getElementById
,而不是getElementsById
getElementsByName
和2<代码>getElementById
ID
是唯一的,不能分配给多个HTML元素getElementsById
和getElementByName
是错误的
getElementsByName
和2<代码>getElementById
ID
是唯一的,不能分配给多个HTML元素这就是为什么:
getElementsById
和getElementByName
是错误的请尝试更正函数名文档。getElementById不是它的元素
document.getElementById(“uname”).style.bacgroundColor=“红色” 请尝试更正函数名document.getElementById不是它的元素
document.getElementById(“uname”).style.bacgroundColor=“红色” 我认为您想要的是getElementById而不是getElementsById(不是元素中的S)。取决于您使用的浏览器和您打开的getElementsById将正常失败,并且永远不会让您知道,否则将显示错误。我认为您希望getElementById而不是getElementsById(而不是元素中的S)。根据您正在使用的浏览器以及您在getElementsById上打开的浏览器,它将正常失败,并且永远不会让您知道,否则它将显示错误。是否检查了浏览器控制台中的错误?如果没有具有该id值的元素,该行将抛出异常,函数将中止。名为“uname”的
元素需要一个带有该值的“name”和“id”属性。事实证明,我不应该使用复数,因为id是唯一的,谢谢。您是否检查了浏览器控制台中的错误?如果没有具有该id值的元素,该行将抛出异常,函数将中止。名为“uname”的
元素需要一个带有该值的“name”和“id”属性。事实证明,由于id是唯一的,所以我不应该使用复数形式,谢谢你的提问。如果我使用getElementsByName,我是对的,不是吗(因为名称不是唯一的)?但这给了我与上面相同的错误。getElementsByName为您提供了一个节点列表。您可以尝试以下操作:document.getElementsByName('namehere')[0]
是的,这很有效,我想我可以不指定[0]就离开因为我只有一个字段使用这个名称,但我错了。一个编程新手快速问题的成功案例如果我使用getElementsByName,我是对的,不是吗(因为名称不是唯一的)?但是这给了我与上面相同的错误。getElementsByName给了你一个节点列表。你可以试试这个:document.getElementsByName('namehere')[0]
是的,这很有效,我想我可以不用指定[0]就可以逃脱,因为我只有一个字段有这个名称,但我错了。一个编程新手的成功故事我使用了getElementsByName()但这也会导致跳过验证。似乎只有getelementbyid起作用。@user3204064getElementsByName
返回节点列表顺便说一句。您应该根据我使用的getElementsByName()更改检查,但这也会导致跳过验证。似乎只有getelementbyid起作用。@user3204064getElementsByName
返回节点列表顺便说一句。您应该相应地更改您的检查