java web验证使用javascript提示相应字段为空
<scriptlanguage="javascript">functionisfull(){if(document.d.person.pid.value==""){ale...
<script language="javascript">function isfull(){
if (document.d.person.pid.value==""){
alert("用户ID不能为空");
document.d.person.pid.focus();
return false;
}
if (document.d.person.pname.value==""){
alert("用户名不能为空");
document.d.person.pname.focus();
return false;
}
return true;
}
<form name="d" method="post" action="" onSubmit="return isfull();">
<input type="text" name="person.pid"> <input type="text"
name="person.pname"> <input type="submit" name="Submit"
value="提交">
</form>
person是一个类,包含pid和pname。但是运行的时候不提示信息为空? 展开
if (document.d.person.pid.value==""){
alert("用户ID不能为空");
document.d.person.pid.focus();
return false;
}
if (document.d.person.pname.value==""){
alert("用户名不能为空");
document.d.person.pname.focus();
return false;
}
return true;
}
<form name="d" method="post" action="" onSubmit="return isfull();">
<input type="text" name="person.pid"> <input type="text"
name="person.pname"> <input type="submit" name="Submit"
value="提交">
</form>
person是一个类,包含pid和pname。但是运行的时候不提示信息为空? 展开
1个回答
展开全部
1 对于元素,从命名习惯上来说,不建议使用 a.b 这种方式
2 在使用javascript获取元素的时候,不要直接使用 document.name这种方式,而使用 document.getElementById()或者 document.getElementsByName()
3 对于你的input使用a.b这样的方式,document不会和你一样地去认为。虽然在你看来你是定义了person类,有属性pid和pname,但是对浏览器的dom来说,person.pid和person.pname都只是一个名字而已,当你使用 document.d.person.pid这样的方式去尝试读取元素的时候,document会直接却去找元素d下面的person,但是在就找不到,当然再person后面的pid也找不到了,因为 person和pid都是没有定义的。所以这里面会发生错误,程序会告诉你 person undefined。
所以,问题是出在你没能正确获取到元素对象上。
2 在使用javascript获取元素的时候,不要直接使用 document.name这种方式,而使用 document.getElementById()或者 document.getElementsByName()
3 对于你的input使用a.b这样的方式,document不会和你一样地去认为。虽然在你看来你是定义了person类,有属性pid和pname,但是对浏览器的dom来说,person.pid和person.pname都只是一个名字而已,当你使用 document.d.person.pid这样的方式去尝试读取元素的时候,document会直接却去找元素d下面的person,但是在就找不到,当然再person后面的pid也找不到了,因为 person和pid都是没有定义的。所以这里面会发生错误,程序会告诉你 person undefined。
所以,问题是出在你没能正确获取到元素对象上。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询