求高手帮我解释一下这段javascript表单验证的代码
<html><head><scripttype="text/javascript">functionvalidate_required(field,alerttxt){w...
<html>
<head>
<script type="text/javascript">
function validate_required(field,alerttxt)
{
with (field)
{
if (value==null||value=="")
{alert(alerttxt);return false}
else {return true}
}
}
function validate_form(thisform)
{
with (thisform)
{
if (validate_required(email,"Email must be filled out!")==false)
{email.focus();return false}
}
}
</script>
</head>
<body>
<form action="submitpage.htm" onsubmit="return validate_form(this)" method="post">
Email: <input type="text" name="email" size="30">
<input type="submit" value="Submit">
</form>
</body>
</html>
我是在w3schoo学的javascript 学到表单验证这 就看不懂了 - -
求高手帮我解释一下这代码 最好逐行解释
我会+分的~谢谢 展开
<head>
<script type="text/javascript">
function validate_required(field,alerttxt)
{
with (field)
{
if (value==null||value=="")
{alert(alerttxt);return false}
else {return true}
}
}
function validate_form(thisform)
{
with (thisform)
{
if (validate_required(email,"Email must be filled out!")==false)
{email.focus();return false}
}
}
</script>
</head>
<body>
<form action="submitpage.htm" onsubmit="return validate_form(this)" method="post">
Email: <input type="text" name="email" size="30">
<input type="submit" value="Submit">
</form>
</body>
</html>
我是在w3schoo学的javascript 学到表单验证这 就看不懂了 - -
求高手帮我解释一下这代码 最好逐行解释
我会+分的~谢谢 展开
4个回答
推荐于2016-02-21
展开全部
=======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}
}
}
============================================
这很难理解吗? 顺着调用的线路走下来不就行了嘛? 傻孩子。
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}
}
}
============================================
这很难理解吗? 顺着调用的线路走下来不就行了嘛? 傻孩子。
追问
//进入validate_form,参数就是刚才传进来的this
那传进来的this是什么来的
展开全部
<script type="text/javascript">
function validate_required(field,alerttxt)//定义检 验函数判断表单元素值是不是空,
{
with (field) // with 的用法,不懂可以问
{
if (value==null||value=="")//判断value的值是不是空,就是判断传来的input元素有没有输入
{alert(alerttxt);return false}//如果是空就弹出警告框,并且返回false 没有通过验证,
else {return true}//如果不为空就返回true通过验证,
}
}
function validate_form(thisform)//定义函数,
{
with (thisform)//with 的用法,定义作用域,
{
if (validate_required(email,"Email must be filled out!")==false)
//判断,validate_required 函数传来的值是不是false,也就是说判断表单通过没有,
{email.focus();return false}//如果表单没通过,name="email" 的input元素得到焦点,
}
}
</script>
function validate_required(field,alerttxt)//定义检 验函数判断表单元素值是不是空,
{
with (field) // with 的用法,不懂可以问
{
if (value==null||value=="")//判断value的值是不是空,就是判断传来的input元素有没有输入
{alert(alerttxt);return false}//如果是空就弹出警告框,并且返回false 没有通过验证,
else {return true}//如果不为空就返回true通过验证,
}
}
function validate_form(thisform)//定义函数,
{
with (thisform)//with 的用法,定义作用域,
{
if (validate_required(email,"Email must be filled out!")==false)
//判断,validate_required 函数传来的值是不是false,也就是说判断表单通过没有,
{email.focus();return false}//如果表单没通过,name="email" 的input元素得到焦点,
}
}
</script>
追问
其他都明白了 就是里的 onsubmit="return validate_form(this)" 我搞不清楚在函数括号里的this 是什么意思
有什么作用
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
<script type="text/javascript">
function validate_required(field,alerttxt) //检查对象的值是否为空函数,参数:field要检查的对象,alerttxt错误时的提示文字
{
with (field)//with语句,with范围内,调用with对象的属性无需写明对象
{
if (value==null||value=="")//判断field.value是否为空
{alert(alerttxt);return false}//是空的,则显示提示文字,并返回false
else {return true}//非空,返回true
}
}
function validate_form(thisform)//form检查,此函数调用了上面的对象检查函数,参数,要检查的form对象
{
with (thisform)//with语句,同上
{
if (validate_required(email,"Email must be filled out!")==false)//调用函数判断email的值是否为空
{email.focus();return false}//如果为空,则函数将email设置焦点,并返回false,如果在onsubimt中调用,返回的false可以中断form提交
}
}
</script>
function validate_required(field,alerttxt) //检查对象的值是否为空函数,参数:field要检查的对象,alerttxt错误时的提示文字
{
with (field)//with语句,with范围内,调用with对象的属性无需写明对象
{
if (value==null||value=="")//判断field.value是否为空
{alert(alerttxt);return false}//是空的,则显示提示文字,并返回false
else {return true}//非空,返回true
}
}
function validate_form(thisform)//form检查,此函数调用了上面的对象检查函数,参数,要检查的form对象
{
with (thisform)//with语句,同上
{
if (validate_required(email,"Email must be filled out!")==false)//调用函数判断email的值是否为空
{email.focus();return false}//如果为空,则函数将email设置焦点,并返回false,如果在onsubimt中调用,返回的false可以中断form提交
}
}
</script>
追问
其他都明白了 就是里的 onsubmit="return validate_form(this)" 我搞不清楚在函数括号里的this 是什么意思
有什么作用
追答
this就是当前对象,validate_form(this)指的是onsubmit这个action的调用者,因为onsubmit是绑定到form,所以this就是这个form对象
如果你给form指定了id=“FormID”,那么this和getElementByID("FormID")的结果是一致的。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
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
参数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
追问
其他都明白了 就是里的 onsubmit="return validate_form(this)" 我搞不清楚在函数括号里的this 是什么意思
有什么作用
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询