WEB开发网
开发学院软件开发Java Go-ForIt 记事:eXtreme DragonSlayers 专题报告,... 阅读

Go-ForIt 记事:eXtreme DragonSlayers 专题报告,第 6 部分: 有价值,却又让人烦恼的技术 — 数据确认和验证

 2009-11-06 00:00:00 来源:WEB开发网   
核心提示: 在客户端有两种方法进行域确认:让用户填写表单并在提交表单前对每个域执行批处理确认,或者在用户遍历浏览表单时对每个域执行瞬时检查,Go-ForIt 记事:eXtreme DragonSlayers 专题报告,第 6 部分: 有价值,却又让人烦恼的技术 — 数据确认和验证(6),只第二种方法是不够的

在客户端有两种方法进行域确认:让用户填写表单并在提交表单前对每个域执行批处理确认,或者在用户遍历浏览表单时对每个域执行瞬时检查。只第二种方法是不够的,因为只用这种方法仍然可能输入无效的值。所以,第二种方法几乎总是和第一种方法结合在一起,先对域进行瞬时检查,然后在表单被提交之前执行批处理确认。这种方法只在用户按表单上的提交按钮时才检查表单的全部域。<FORM> 标记中的 onSubmit 事件处理程序触发一个检查每个表单元素的自定义函数。

下面的 GoFor-It.com 注册页面示例使用批处理确认检查用户 Name 域是否已完成。


简单的注册表单
<HTML> 
<HEAD> 
<TITLE>Simplified Registration Form</TITLE> 
<SCRIPT language="JavaScript"> 
function checkForm(form) { 
//--VARIABLES THAT WILL BE RESET DYNAMICALLY AS NEEDED 
var errorIndex = 0; 
var errorMessage = ''; 
var firstBadField = ''; 
//--CHECK THE FIRST NAME FIELD FOR NO ENTRY DATA 
//alert('Checking First Name field.'); 
if(document.form1.firstName.value=="") { 
 errorIndex++; 
 errorMessage += errorIndex + ' . First Name is a required field.\n'; 
 if (firstBadField==''){ 
 firstBadField = form.firstName; 
 } 
 } 
//--IF ERROR MESSAGE IS NOT EQUAL TO NADA, THEN THERE MUST BE ERRORS, 
//SO DISPLAY THE ERROR MESSAGE AND PLACE FOCUS ON THE FIRST BAD FIELD 
if (errorMessage != '') { 
 alert('Sorry, the form was not submitted due to the following problems: 
     \n\n'+ errorMessage); 
 if (firstBadField != '') { 
 firstBadField.focus(); 
 } 
 //alert('value of hidden date field: ' + form.date.value); 
 return false; 
 } 
} 
</SCRIPT> 
<P>Part of a Simplified Registration Form<BR> 
</P> 
<FORM action="/goforit/RegistrationServlet" name="form1" 
   > 
<BR> 
Title<SELECT size="1" name="title"> 
<OPTION SELECTED></OPTION> 
<OPTION>Mr.</OPTION> 
<OPTION>Mrs.</OPTION> 
<OPTION>Ms.</OPTION> 
<OPTION>Miss</OPTION> 
</SELECT><BR> 
Name 
<INPUT maxlength="25" name="firstName" size="20" type="text" value=""><BR> 
Surname 
<INPUT maxlength="30" name="lastName" size="20" type="text" value=""><BR> 
I am seeking help with my errands: 
<INPUT type="checkbox" name="userTypeCustomer" value="customer"></INPUT><BR> 
I want to do errands for others: 
<INPUT type="checkbox" name="userTypePA" value="personalAssistant"/></INPUT><BR> 
</SELECT><BR> 
<BR> 
<INPUT type="reset" name="ResetButton" value="Reset"> 
<INPUT type="submit" name="SubmitButton" value="Submit"><BR> 
</FORM> 
</BODY> 
</HTML>

上一页  1 2 3 4 5 6 7 8 9 10  下一页

Tags:Go ForIt 记事

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接