|
|
参考主题:实例学习网页制作中常用的网页表单的应用 / _* @0 V" \& T# K7 D7 U) I, O
表单的提交
2 X5 h0 y# @$ x6 P1 J4 { 表单的提交
2 p5 |7 R5 A5 S. m3 t; X8 K 既然表单是用来采集用户输入的数据,那么,就应该保证用户的数据被准确地提交到预定的地点,也就是说,我们在表单提交的时候,应该对用户的数据进行检验,一来可以避免用户误输数据,二来可以避免用户输入非法的,或者说不合格的数据;检验合格以7 m. \4 P/ l$ |& i7 H5 ?& M' O
既然表单是用来采集用户输入的数据,那么,就应该保证用户的数据被准确地提交到预定的地点,也就是说,我们在表单提交的时候,应该对用户的数据进行检验,一来可以避免用户误输数据,二来可以避免用户输入非法的,或者说不合格的数据;检验合格以后,还要保证用户的数据提交到特定的程序。
2 D" s- T, K- I! p d2 ? 1.数据的检验
6 |% S* z" i+ C4 _# I9 F# R 数据的检验,通常有两种程序:客户端检验和服务器端检验。客户端检验,比较快,服务器端检验,相对来说比较慢,为了确保安全,通常同时采用,这样就可以避免用户刻意破坏。6 J/ f5 O* l4 x$ k
不管采用什么方式,数据检验的原理都是一样的,一旦用户输入的数据不符合规定,就报错,要求用户重新输入,客户端检验常使用Javascrip脚本,服务器端的视系统而定,本文不对数据检验的具体程序设计进行探讨,仅仅列举几个例子来说明。- o% B+ W6 \- x1 @7 A+ T3 ^0 k
样例:必填项,以及简单的数据类型检验; ^# I7 q* n6 D2 [. b
功能实现分析:$ u( F, e- E2 Z
本例给表单添加了onSubmit事件,通过onSubmit="return
/ n9 V9 H4 r3 f& d CheckDate()"指定提交前,必须通过函数CheckDate()来检验,如果不合格,返回输入数据;3 A0 f- R0 Y# `, }: V3 i' B
数据检验的函数如下: <script> function
+ }; X4 P4 d! a6 _- T7 N/ o$ x CheckDate(){ //取得输入的数据 userName = document.RedForm.userName.value;
5 ^' y* Z# D, K7 U# ?# W userEmail = document.RedForm.userEmail.value; //如果没有输入姓名 if
" j: _$ V3 {0 k% c (userName=="") { alert("请输入姓名"); document.RedForm.userName.focus();
- B& X3 C4 Z0 s |8 p return false; }else{ //如果没有输入Email,上海搬场公司或者Email地址错误(不含@) if
& E/ O9 Z* w7 c- u8 t' [/ S" b- n5 ` ((userEmail=="")||(userEmail.indexOf("@")==-1)) {/ T7 V* O% t0 m5 T, b! \# M5 v7 g! A
alert("请重新输入Email地址"); document.RedForm.userEmail.focus(); return
* w/ x H: W7 z/ d false; }else return true; } }
" s0 u! @$ ^0 k8 H& k </script>
4 E/ n, Y' t3 ]8 @$ R 以下带*的必须输入:
; E2 T i0 D* Z* H2 S. H 姓名: *
& ]; ^- `# }0 {) X Email: *
& X9 F2 Z+ E* v& I! N2 S 表单的分支提交
, J a) `& Z% x$ _, a& V. Z+ b 有的时候http://www.zyldjd.com/,大众搬家表单需要根据用户的选择,提交到不同的程序,怎么做呢?通过脚本来检测用户的选择分支,从而向不同的程序提交表单,看看样例:2 ]5 Z$ T! q1 L# _; ]4 ` r, j
样例:分支提交/ R' i. C, ?7 k, Q4 @$ {& G/ t( N
用户名: 密码:
1 _* K& w( r; u, P: y 公司用户 个人用户1 M, }+ a) A' Y: Q& |5 X+ o- [% n
功能实现分析:4 Y, o* G: W c2 g Z D
这里首先用到的是form的onSubmit="TwoSubmit(this)"
2 R% f( A1 Y7 V 然后根据选择的分支http://www.sh6997.comhttp://www.xiangpaiming.com,上海搬家公司来分别递交到不同的程序,大众搬场TwoSubmit()函数如下:! x& ]5 H$ w$ }# w
<script> function TwoSubmit(form){ if
# _( B9 _! ?( o (form.Ref[0].checked){ form.action = "cop.asp";//这里是分之一 }else{
: l# v! d2 W* ` form.action = "ind.asp";//这里是分之二 } form.submit(); }" V" n' t5 y, j, ]6 X
</script>+ m3 b' P$ ]% T! @1 l: @
用任何元素提交表单
( Y6 _6 A4 l: n r7 O) y 是不是只有按钮或者图片按钮才能提交表单呢?当然不是,实际上,任何页面元素都可以提交表单,不过嘛,都是通过脚本来完成的,下面我们就使用链接来代替Submit按钮:1 s4 A& S! W* f
[恶搞]表格中单元格之间分隔线的隐藏方法_ |
|