|
|
参考主题:实例学习网页制作中常用的网页表单的应用
' F1 @" [+ o- c- u7 K( C8 L8 Y! A 表单的提交- g4 Z& R1 h$ y' e) g
表单的提交) B+ R# K; b8 A% j1 C
既然表单是用来采集用户输入的数据,那么,就应该保证用户的数据被准确地提交到预定的地点,也就是说,我们在表单提交的时候,应该对用户的数据进行检验,一来可以避免用户误输数据,二来可以避免用户输入非法的,或者说不合格的数据;检验合格以, B0 @5 _ U& E# k: [
既然表单是用来采集用户输入的数据,那么,就应该保证用户的数据被准确地提交到预定的地点,也就是说,我们在表单提交的时候,应该对用户的数据进行检验,一来可以避免用户误输数据,二来可以避免用户输入非法的,或者说不合格的数据;检验合格以后,还要保证用户的数据提交到特定的程序。8 p6 Q1 Q9 Z& S& _1 v
1.数据的检验7 K3 e. x3 `7 z$ F
数据的检验,通常有两种程序:客户端检验和服务器端检验。客户端检验,比较快,服务器端检验,相对来说比较慢,为了确保安全,通常同时采用,这样就可以避免用户刻意破坏。
& I3 m% E9 Q3 C$ i3 G% q 不管采用什么方式,数据检验的原理都是一样的,一旦用户输入的数据不符合规定,就报错,要求用户重新输入,客户端检验常使用Javascrip脚本,服务器端的视系统而定,本文不对数据检验的具体程序设计进行探讨,仅仅列举几个例子来说明。/ V1 T; p1 B& e7 `, Z6 t" h. d3 Q* H2 N
样例:必填项,以及简单的数据类型检验* e8 G5 Z& X6 [: l/ I; ^
功能实现分析:
2 b8 K* _/ {+ ? 本例给表单添加了onSubmit事件,通过onSubmit="return3 o2 I. D; ]) |2 c2 X; d6 _1 z
CheckDate()"指定提交前,必须通过函数CheckDate()来检验,如果不合格,返回输入数据;; {& t8 g) |# ?! k2 U9 B- r% o
数据检验的函数如下: <script> function
% k, d9 |/ q5 V( t CheckDate(){ //取得输入的数据 userName = document.RedForm.userName.value;: ]- I. A: ?; e! D1 }
userEmail = document.RedForm.userEmail.value; //如果没有输入姓名 if
6 \+ O% I/ Z5 N: A, D, p (userName=="") { alert("请输入姓名"); document.RedForm.userName.focus(); s c( K9 S2 [" m6 k" c, c
return false; }else{ //如果没有输入Email,上海搬场公司或者Email地址错误(不含@) if2 b6 d' _% t! H
((userEmail=="")||(userEmail.indexOf("@")==-1)) {
+ [, w5 m. l3 W E alert("请重新输入Email地址"); document.RedForm.userEmail.focus(); return
2 q* I! _1 k% S false; }else return true; } }
* `9 w" h0 _; m, g" Q9 _ R, _ </script>
- c5 v& O: `7 ~! S9 E% \3 O 以下带*的必须输入:
+ L2 m) m/ R7 Z y" R 姓名: *
- L0 d1 @- I0 Z6 X, S3 ^ Email: *! P9 P, [6 ]0 G' V9 `8 z# ?. A
表单的分支提交% t8 L8 P$ Y/ N @; d
有的时候http://www.zyldjd.com/,大众搬家表单需要根据用户的选择,提交到不同的程序,怎么做呢?通过脚本来检测用户的选择分支,从而向不同的程序提交表单,看看样例:
+ H* `3 G8 X$ @+ ` 样例:分支提交
% a4 I H9 t+ d7 e) D! q f 用户名: 密码:
/ W# K( L7 S+ v$ x& n& L z& n9 E 公司用户 个人用户* K' K! X r1 e% R8 V
功能实现分析:6 b6 h, _2 u2 z4 x f% J& T
这里首先用到的是form的onSubmit="TwoSubmit(this)". V3 \6 l! P9 @7 o" }
然后根据选择的分支http://www.sh6997.comhttp://www.xiangpaiming.com,上海搬家公司来分别递交到不同的程序,大众搬场TwoSubmit()函数如下:5 U0 l* Y g8 t# C' t; Y& }
<script> function TwoSubmit(form){ if
, ], }! y- ~+ Q7 y (form.Ref[0].checked){ form.action = "cop.asp";//这里是分之一 }else{
6 O h0 a' |! L7 { form.action = "ind.asp";//这里是分之二 } form.submit(); }0 |9 I$ c% ?, T7 w+ ^* e8 }
</script>2 |* M d: s' R5 B# a( S0 z, S
用任何元素提交表单
4 Z% T9 c0 s, L) }2 G+ a 是不是只有按钮或者图片按钮才能提交表单呢?当然不是,实际上,任何页面元素都可以提交表单,不过嘛,都是通过脚本来完成的,下面我们就使用链接来代替Submit按钮:; `. @$ O* ?- j# Q
[恶搞]表格中单元格之间分隔线的隐藏方法_ |
|