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。但是运行的时候不提示信息为空?
展开
 我来答
hyjiacan
2014-04-23 · TA获得超过3912个赞
知道小有建树答主
回答量:894
采纳率:100%
帮助的人:1090万
展开全部
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。

所以,问题是出在你没能正确获取到元素对象上。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式