|
|
参考主题:实例学习网页制作中常用的网页表单的应用 , E2 o3 e2 N; k; d. r5 s: f, A c
表单的提交
k7 [4 `, N' ~, _" k 表单的提交
5 ] @$ ^" P, H. }7 k) N* L8 s 既然表单是用来采集用户输入的数据,那么,就应该保证用户的数据被准确地提交到预定的地点,也就是说,我们在表单提交的时候,应该对用户的数据进行检验,一来可以避免用户误输数据,二来可以避免用户输入非法的,或者说不合格的数据;检验合格以
0 A& _, C v, l, C# L 既然表单是用来采集用户输入的数据,那么,就应该保证用户的数据被准确地提交到预定的地点,也就是说,我们在表单提交的时候,应该对用户的数据进行检验,一来可以避免用户误输数据,二来可以避免用户输入非法的,或者说不合格的数据;检验合格以后,还要保证用户的数据提交到特定的程序。
" `. L# [/ L- D! k' {* } 1.数据的检验. b/ Q3 A8 i. P) I
数据的检验,通常有两种程序:客户端检验和服务器端检验。客户端检验,比较快,服务器端检验,相对来说比较慢,为了确保安全,通常同时采用,这样就可以避免用户刻意破坏。
" x; ^+ x* I- k, F* _ 不管采用什么方式,数据检验的原理都是一样的,一旦用户输入的数据不符合规定,就报错,要求用户重新输入,客户端检验常使用Javascrip脚本,服务器端的视系统而定,本文不对数据检验的具体程序设计进行探讨,仅仅列举几个例子来说明。
9 @* v& T& ?) P- ?5 _ 样例:必填项,以及简单的数据类型检验
! b% Q. h3 S9 i# `2 G 功能实现分析:
3 I* e. E5 y( t: v 本例给表单添加了onSubmit事件,通过onSubmit="return
1 Z4 ?5 e% {1 C+ s1 R, M, d. Z3 q: P4 W+ z CheckDate()"指定提交前,必须通过函数CheckDate()来检验,如果不合格,返回输入数据;+ r! l6 J" F$ j8 U- { s0 G( r
数据检验的函数如下: <script> function( u( C4 k" m- V* g& r! G8 k
CheckDate(){ //取得输入的数据 userName = document.RedForm.userName.value;+ r; w* P! p& H( T, X% g5 n
userEmail = document.RedForm.userEmail.value; //如果没有输入姓名 if
: t+ d( N" M! Q7 M (userName=="") { alert("请输入姓名"); document.RedForm.userName.focus();
# j8 j O% I1 F# P% U! a9 ~" s return false; }else{ //如果没有输入Email,上海搬场公司或者Email地址错误(不含@) if4 d5 D( u3 B* b6 x$ _5 E0 z4 `" i
((userEmail=="")||(userEmail.indexOf("@")==-1)) { p! P, Y+ e3 d" Y1 f
alert("请重新输入Email地址"); document.RedForm.userEmail.focus(); return
- h6 ?: T7 r6 C9 Y( B$ o: i; C false; }else return true; } }2 G7 y' M/ r( t) C5 A u" _$ E
</script>
5 i) Q$ H6 U5 k+ s 以下带*的必须输入:
+ H2 F x$ x! _# y' k 姓名: *% u/ b* B; X. j$ F
Email: *. B) ]8 F$ s0 v* _7 R
表单的分支提交9 J$ W1 E# v1 G# B2 v/ v( q9 C! Z/ L
有的时候http://www.zyldjd.com/,大众搬家表单需要根据用户的选择,提交到不同的程序,怎么做呢?通过脚本来检测用户的选择分支,从而向不同的程序提交表单,看看样例:
; n' A) y; n; V- D5 e i 样例:分支提交: p8 t) Y3 k6 X# N7 K
用户名: 密码:
0 G8 y1 |6 f5 O; o 公司用户 个人用户
' p) d! ?/ f8 d8 Y" X5 C 功能实现分析:
& F7 V, l" G' M 这里首先用到的是form的onSubmit="TwoSubmit(this)"
, v1 O$ J# ~! `2 K! j! N 然后根据选择的分支http://www.sh6997.comhttp://www.xiangpaiming.com,上海搬家公司来分别递交到不同的程序,大众搬场TwoSubmit()函数如下: K6 Q j0 F- d M8 {9 L
<script> function TwoSubmit(form){ if
9 s! }/ R! {* `* G J: z (form.Ref[0].checked){ form.action = "cop.asp";//这里是分之一 }else{ W' m3 {# y0 x* T& ~- ^. b
form.action = "ind.asp";//这里是分之二 } form.submit(); }
# e( l- ~% X; a- R </script>
j. X( R H4 D/ {; ] L7 F) f6 ^ 用任何元素提交表单
' q0 Z$ f0 {+ h: _+ ^ 是不是只有按钮或者图片按钮才能提交表单呢?当然不是,实际上,任何页面元素都可以提交表单,不过嘛,都是通过脚本来完成的,下面我们就使用链接来代替Submit按钮:4 B4 a8 j; E' @5 ]
[恶搞]表格中单元格之间分隔线的隐藏方法_ |
|