|
参考主题:实例学习网页制作中常用的网页表单的应用
- b0 q* N4 _ ^/ h" O 表单的提交
1 M! l9 E+ w* ~ 表单的提交1 [5 K3 P( Y* f
既然表单是用来采集用户输入的数据,那么,就应该保证用户的数据被准确地提交到预定的地点,也就是说,我们在表单提交的时候,应该对用户的数据进行检验,一来可以避免用户误输数据,二来可以避免用户输入非法的,或者说不合格的数据;检验合格以
- Q3 `; j$ T% H4 v8 d2 n- J 既然表单是用来采集用户输入的数据,那么,就应该保证用户的数据被准确地提交到预定的地点,也就是说,我们在表单提交的时候,应该对用户的数据进行检验,一来可以避免用户误输数据,二来可以避免用户输入非法的,或者说不合格的数据;检验合格以后,还要保证用户的数据提交到特定的程序。
- `% g: _' S, @" R3 f1 h 1.数据的检验
9 S2 |6 I5 U& o1 x4 }2 x 数据的检验,通常有两种程序:客户端检验和服务器端检验。客户端检验,比较快,服务器端检验,相对来说比较慢,为了确保安全,通常同时采用,这样就可以避免用户刻意破坏。1 M- j& l7 G' K$ ~) O, `
不管采用什么方式,数据检验的原理都是一样的,一旦用户输入的数据不符合规定,就报错,要求用户重新输入,客户端检验常使用Javascrip脚本,服务器端的视系统而定,本文不对数据检验的具体程序设计进行探讨,仅仅列举几个例子来说明。
! |7 n" u0 F; G4 F 样例:必填项,以及简单的数据类型检验
{& M9 N$ u8 g. e 功能实现分析:
/ e( U5 `1 j/ V. @0 H! [6 R 本例给表单添加了onSubmit事件,通过onSubmit="return3 Y4 w# |) Y5 j6 X7 X8 w6 i
CheckDate()"指定提交前,必须通过函数CheckDate()来检验,如果不合格,返回输入数据;
9 W& ?* _1 }. W9 @ 数据检验的函数如下: <script> function5 z$ w! @+ d' O J
CheckDate(){ //取得输入的数据 userName = document.RedForm.userName.value;" c2 `+ ~6 }" j, ]6 X2 I
userEmail = document.RedForm.userEmail.value; //如果没有输入姓名 if5 [: O0 i7 ~! K. ]: \
(userName=="") { alert("请输入姓名"); document.RedForm.userName.focus();
& o! o" h" y4 L$ D return false; }else{ //如果没有输入Email,上海搬场公司或者Email地址错误(不含@) if
0 S! V. \; a' S ((userEmail=="")||(userEmail.indexOf("@")==-1)) {7 @# P# z) X4 Y( F! A
alert("请重新输入Email地址"); document.RedForm.userEmail.focus(); return
, H+ I4 X9 _, R6 u2 I9 r false; }else return true; } }" b" B% i- x% \ `9 T/ c
</script>( W9 J2 t% \1 x2 ?5 Y7 \
以下带*的必须输入:& T8 M3 S6 F% B- L |, K
姓名: *
& p1 A$ v5 k) b Email: *' ~1 z$ ~% ]! }8 P9 H
表单的分支提交1 J1 k1 X" f. }( s) ?) E
有的时候http://www.zyldjd.com/,大众搬家表单需要根据用户的选择,提交到不同的程序,怎么做呢?通过脚本来检测用户的选择分支,从而向不同的程序提交表单,看看样例:" S2 b# Z# h0 r+ A+ e4 C
样例:分支提交1 s% K6 v1 a5 J% x% E3 b6 A8 A% g7 f
用户名: 密码:
5 C) F6 U7 k- l9 K d3 w' d 公司用户 个人用户; s! Z& o* K% a. E/ N7 r
功能实现分析:2 A% @# B1 o$ q5 N1 _
这里首先用到的是form的onSubmit="TwoSubmit(this)"- B" g7 ~) \) p$ ?1 r
然后根据选择的分支http://www.sh6997.comhttp://www.xiangpaiming.com,上海搬家公司来分别递交到不同的程序,大众搬场TwoSubmit()函数如下:1 P+ d/ z& e- ]2 c1 Z; `+ [, _
<script> function TwoSubmit(form){ if: m' f2 q; z; R; ?8 v# |
(form.Ref[0].checked){ form.action = "cop.asp";//这里是分之一 }else{
; w, H( x: f6 n2 v/ z% C) L form.action = "ind.asp";//这里是分之二 } form.submit(); }
# n# ^9 }8 K: N2 G </script>
3 J2 S( }5 [% D* t 用任何元素提交表单* B8 x# {8 p" r p6 d& B
是不是只有按钮或者图片按钮才能提交表单呢?当然不是,实际上,任何页面元素都可以提交表单,不过嘛,都是通过脚本来完成的,下面我们就使用链接来代替Submit按钮:6 c, p3 |! Y! d
[恶搞]表格中单元格之间分隔线的隐藏方法_ |
|