求高手帮我解释一下这段javascript表单验证的代码

2024-12-27 13:07:06
推荐回答(4个)
回答1:

=======form========
onsubmit="return validate_form(this)" //当提交表单时,先执行 validate_form 参数是该表单自己this
=======validate_form()=====
function validate_form(thisform) //进入validate_form,参数就是刚才传进来的this
{
with (thisform) // with就是类似C++的namespace,简单说就是命名空间,也就是说with的{}里面就不用再写 thisform.xxx 了,直接写 xxx就是意味着是thisform的
{
if (validate_required(email,"Email must be filled out!")==false) //调用 validate_required 参数是thisform下面的name=email的标签的引用,另外一个参数是个字符串
{email.focus();return false} //如果validate_required返回false,就把焦点设定到email上,然后返回false,意味着验证失败,表单不会被提交。
}
}
========validate_required==========
function validate_required(field,alerttxt)
{
with (field) // “命名空间”为field,刚才已经解释了with之意
{
if (value==null||value=="") //当field.value 为空时
{alert(alerttxt);return false}// 弹出 alerttxt的内容,并且返回false
else {return true}
}
}
============================================

这很难理解吗? 顺着调用的线路走下来不就行了嘛? 傻孩子。

回答2:

回答3:

回答4:

validate_required是用来供validate_form调用的,我先从validate_form说起吧,
参数thisform是点击submit后提交的表单中email中的数据,将参数传入validate_form后,在if中调用validate_required判断email文本域是否为空,如果为空,就弹出对话框“Email must be filled out!”,意思也就是email不能为空!
并返回一个false,validate_form中if判断的意思也就是如果validate_required返回一个false,那就调用.focus(),让光标移到email文本域中,并告诉浏览器一个false,本次提交未能成功,如果validate_required返回一个true,那么就把email中的内容提交到submitpage.htm