kill522 发表于 2013-1-29 11:35:24

使用闭包特性写的表单校验提交JS

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><HTML> <HEAD><TITLE> New Document </TITLE><META NAME="Generator" CONTENT="EditPlus"><META NAME="Author" CONTENT=""><META NAME="Keywords" CONTENT=""><META NAME="Description" CONTENT=""><script>    /***   * add by 张行 2010-12-16   * 面向对象的JavaScript   *   */   function $(id)    {return document.getElementById(id).value;   }// 使用立即方法利用闭包创建私有静态成员方法var Book = (function ()   {       function checkIsbn(isbn, msg)// 私有静态成员方法 校验方法{if (msg === "ok"){if ($(isbn) === "")   { return "isbn不能为空!";}   } return msg;}function checkName(name, msg)    {if (msg === "ok"){if ($(name) !== "zxBook")   {return "书名必须为zxBook!";}   }return msg;}   // 使用闭包特性return function ()   {// 私有属性var isbn,name,content,pageNum,msg="ok";/************* 特权set方法***************/this.setIsbn = function (strIsbn) {msg = checkIsbn(strIsbn, msg)if (msg === "ok"){isbn = $(strIsbn);}};this.setName = function (strName) {msg = checkName(strName, msg)if (msg === "ok"){name = $(strName);}};this.setContent = function (strContent) {content = $(strContent) || "nullContent";};this.setPageNum = function (strPageNum) {pageNum = $(strPageNum) || "0";};/************* 特权get方法***************/ this.getIsbn = function () {return isbn;};this.getName = function () {return name;}this.getContent = function () {return content;}this.getPageNum = function () {return pageNum;}this.getMsg = function() {return msg;}}})() ;// 构建查询串Book.prototype.createQryString = function (isbn, name, content, pageNum)   {var str = "?" + isbn + "=" + this.getIsbn() + "&" + name + "=" + this.getName() + "&" + content + "=" + this.getContent() + "&" + pageNum + "=" + this.getPageNum();return str;}var bookService = {"add" : function () {var book = new Book();book.setIsbn('isbn');book.setName('name');book.setContent('content');book.setPageNum('pageNum');    if (book.getMsg() != "ok"){alert(book.getMsg());return false;}else {alert(book.createQryString('ISBN','NAME','CONTENT','NUM'));/**new Ajax.Request('${request.contextPath}/hehe.action' + book.createQryString('ISBN','NAME','CONTENT','NUM'), {method: 'post',onSuccess: function(transport)   {alert(transport.responseText);}});**/}},"del" : function () {},"update" : function (){},"search" : function (){}}   function ready()   {document.getElementById('submitBtn').attachEvent('onclick', bookService.add);   }</script> </HEAD> <BODY onload='ready();'>ISBN : <input type="text" name="isbn"/>    书名: <input type="text" name="name"/>内容: <input type="text" name="content"/>页数: <input type="text" name="pageNum"/><input type="button" name="submitBtn" value=" 提 交 "> </BODY></HTML> 
页: [1]
查看完整版本: 使用闭包特性写的表单校验提交JS