|
|
参考主题:实例学习网页制作中常用的网页表单的应用
, K4 \; v3 v+ f0 z- N 表单的提交0 m8 Z# z& ~7 C. m
表单的提交/ U; I* f9 _8 L- E/ @2 {7 X
既然表单是用来采集用户输入的数据,那么,就应该保证用户的数据被准确地提交到预定的地点,也就是说,我们在表单提交的时候,应该对用户的数据进行检验,一来可以避免用户误输数据,二来可以避免用户输入非法的,或者说不合格的数据;检验合格以
/ k1 a2 [/ o9 I! { d7 I' ^9 q9 V 既然表单是用来采集用户输入的数据,那么,就应该保证用户的数据被准确地提交到预定的地点,也就是说,我们在表单提交的时候,应该对用户的数据进行检验,一来可以避免用户误输数据,二来可以避免用户输入非法的,或者说不合格的数据;检验合格以后,还要保证用户的数据提交到特定的程序。# j+ G B4 S/ i* ]4 W
1.数据的检验
. q* _2 k6 }: r }* Y+ j" u/ H 数据的检验,通常有两种程序:客户端检验和服务器端检验。客户端检验,比较快,服务器端检验,相对来说比较慢,为了确保安全,通常同时采用,这样就可以避免用户刻意破坏。
+ ]6 x+ O5 e% ~6 _0 F0 h6 L 不管采用什么方式,数据检验的原理都是一样的,一旦用户输入的数据不符合规定,就报错,要求用户重新输入,客户端检验常使用Javascrip脚本,服务器端的视系统而定,本文不对数据检验的具体程序设计进行探讨,仅仅列举几个例子来说明。
- P+ e4 l3 K& P1 c( B 样例:必填项,以及简单的数据类型检验+ I1 R8 ]) ^. M; o3 r# q
功能实现分析:
- Q8 ~( G7 f$ f) q 本例给表单添加了onSubmit事件,通过onSubmit="return v4 i; d+ z1 g" [$ P
CheckDate()"指定提交前,必须通过函数CheckDate()来检验,如果不合格,返回输入数据;
: ^" g/ p3 i" M- s 数据检验的函数如下: <script> function
) l/ B# W5 Y, n) p. _9 |/ ? CheckDate(){ //取得输入的数据 userName = document.RedForm.userName.value;$ w) e/ f* @1 d, |, ]
userEmail = document.RedForm.userEmail.value; //如果没有输入姓名 if& L0 O0 N! D; c! s3 c! N" f6 w! ~0 s
(userName=="") { alert("请输入姓名"); document.RedForm.userName.focus();
- M# W- b" m5 z% `6 ^4 t" P, c return false; }else{ //如果没有输入Email,上海搬场公司或者Email地址错误(不含@) if
* N3 h/ ^# i: o5 ` ((userEmail=="")||(userEmail.indexOf("@")==-1)) {
* H" w/ O/ d3 e+ q4 e. N$ F alert("请重新输入Email地址"); document.RedForm.userEmail.focus(); return. l: ?" W/ w. Y8 K/ Q
false; }else return true; } }
7 o: K) e% a/ `$ G- i </script>' k* c6 R0 c9 R
以下带*的必须输入:
& T4 n* r. \+ f# P, |; ~7 m 姓名: *
# N- \3 U0 B$ a) o1 f+ ^ Email: *
% }- {& I X( y6 R" d7 G A 表单的分支提交
9 y+ N3 b. I* n% ^+ D 有的时候http://www.zyldjd.com/,大众搬家表单需要根据用户的选择,提交到不同的程序,怎么做呢?通过脚本来检测用户的选择分支,从而向不同的程序提交表单,看看样例: n, g* a0 x% J/ D H4 t1 P3 d: e- [
样例:分支提交
8 p0 \0 q2 U. q 用户名: 密码:1 q! N' A1 S# [( Z* Y
公司用户 个人用户7 X/ I. w; r j1 p
功能实现分析:
( S5 a2 c7 K, b1 O' \# j4 [6 a4 R 这里首先用到的是form的onSubmit="TwoSubmit(this)"
. d" O8 l/ e( m' e9 P, Z. b 然后根据选择的分支http://www.sh6997.comhttp://www.xiangpaiming.com,上海搬家公司来分别递交到不同的程序,大众搬场TwoSubmit()函数如下:' G% A4 n" D5 z. n( [8 }6 @% }# A
<script> function TwoSubmit(form){ if
+ K- x3 R, P5 E" Z6 E2 h) [ (form.Ref[0].checked){ form.action = "cop.asp";//这里是分之一 }else{2 v- k+ n& W# L$ L
form.action = "ind.asp";//这里是分之二 } form.submit(); }
8 `# c1 [- f( Z% W </script>
7 B2 w, r M. a) [0 b: W1 I 用任何元素提交表单
, ]: B [* s; G 是不是只有按钮或者图片按钮才能提交表单呢?当然不是,实际上,任何页面元素都可以提交表单,不过嘛,都是通过脚本来完成的,下面我们就使用链接来代替Submit按钮:
2 c g% j3 Y- z9 J7 J) ^ [恶搞]表格中单元格之间分隔线的隐藏方法_ |
|