|
参考主题:实例学习网页制作中常用的网页表单的应用
# ^# q S3 m" w+ h3 W% \ 表单的提交
# R$ F3 K: v8 `" `: `/ G( t 表单的提交
# n: m2 U: M5 M) Q3 b3 U! C 既然表单是用来采集用户输入的数据,那么,就应该保证用户的数据被准确地提交到预定的地点,也就是说,我们在表单提交的时候,应该对用户的数据进行检验,一来可以避免用户误输数据,二来可以避免用户输入非法的,或者说不合格的数据;检验合格以
; o# f% ]. ^4 P/ r+ H: O 既然表单是用来采集用户输入的数据,那么,就应该保证用户的数据被准确地提交到预定的地点,也就是说,我们在表单提交的时候,应该对用户的数据进行检验,一来可以避免用户误输数据,二来可以避免用户输入非法的,或者说不合格的数据;检验合格以后,还要保证用户的数据提交到特定的程序。
! u4 [# b% x7 d. }1 M" W1 d 1.数据的检验4 y# f' {" Q" I1 {
数据的检验,通常有两种程序:客户端检验和服务器端检验。客户端检验,比较快,服务器端检验,相对来说比较慢,为了确保安全,通常同时采用,这样就可以避免用户刻意破坏。
; h6 h" i& n, L8 [+ s( j 不管采用什么方式,数据检验的原理都是一样的,一旦用户输入的数据不符合规定,就报错,要求用户重新输入,客户端检验常使用Javascrip脚本,服务器端的视系统而定,本文不对数据检验的具体程序设计进行探讨,仅仅列举几个例子来说明。' q% Z+ O, D w% n+ K* d1 w- ?
样例:必填项,以及简单的数据类型检验% ?& L% i2 Z- d7 j
功能实现分析:" ^: Y8 Q g+ J; B
本例给表单添加了onSubmit事件,通过onSubmit="return' }* i* g# J$ Y0 ]$ [% p7 H8 v
CheckDate()"指定提交前,必须通过函数CheckDate()来检验,如果不合格,返回输入数据;
9 ~4 v8 r f r" ^) k, m6 L+ ` 数据检验的函数如下: <script> function9 r3 I3 l8 |: E# }% H" H5 r
CheckDate(){ //取得输入的数据 userName = document.RedForm.userName.value;
9 v+ X* a3 o" S N& c& Y4 E userEmail = document.RedForm.userEmail.value; //如果没有输入姓名 if, z5 y2 p) A. v$ l2 x0 p# g
(userName=="") { alert("请输入姓名"); document.RedForm.userName.focus();0 e& V: n* h% U' [4 q
return false; }else{ //如果没有输入Email,上海搬场公司或者Email地址错误(不含@) if% W6 Y! X! @+ b" [) t" i& j
((userEmail=="")||(userEmail.indexOf("@")==-1)) {
, Y% t2 u7 K' a: G: K- w alert("请重新输入Email地址"); document.RedForm.userEmail.focus(); return; V" D6 l2 l8 z
false; }else return true; } }6 T: U% n7 M' q D X; |
</script>1 p3 a$ `# P3 c9 _6 J1 j2 b
以下带*的必须输入:
4 z# B; z9 R8 l! {( Q2 }# q/ V. d: ? 姓名: *. x3 m( |1 q$ b+ w( z% p/ K
Email: *
4 Y- R, S; s' Z, D Y! Q% r1 E/ T 表单的分支提交
' q, H8 Z, e, ?" c- j1 x 有的时候http://www.zyldjd.com/,大众搬家表单需要根据用户的选择,提交到不同的程序,怎么做呢?通过脚本来检测用户的选择分支,从而向不同的程序提交表单,看看样例:$ h: S- E: O: F6 n1 Q' i
样例:分支提交
. i0 V( b8 D+ |0 E1 e: d! f 用户名: 密码:+ M* k/ Y: r% z0 z+ o
公司用户 个人用户
6 @) ?: T0 X F4 E( i1 i 功能实现分析:
! O" c2 y' B/ I% t: |8 a 这里首先用到的是form的onSubmit="TwoSubmit(this)"
: P( T$ n: D# B- o/ G0 q 然后根据选择的分支http://www.sh6997.comhttp://www.xiangpaiming.com,上海搬家公司来分别递交到不同的程序,大众搬场TwoSubmit()函数如下:! i' C- ~8 @2 |6 c
<script> function TwoSubmit(form){ if% `4 E. f4 U, j
(form.Ref[0].checked){ form.action = "cop.asp";//这里是分之一 }else{
1 }6 G6 l2 v- a( l/ {9 G form.action = "ind.asp";//这里是分之二 } form.submit(); }
' K* ?2 L) N, ?) F/ k </script>4 O; i7 s$ e: R
用任何元素提交表单
. U+ U, E. O0 z; V; y: t1 {0 j 是不是只有按钮或者图片按钮才能提交表单呢?当然不是,实际上,任何页面元素都可以提交表单,不过嘛,都是通过脚本来完成的,下面我们就使用链接来代替Submit按钮:% n5 V, H5 A/ o
[恶搞]表格中单元格之间分隔线的隐藏方法_ |
|