主题:Dojo 用Dojo的javascript库去建立Ajax应用-dojo指南->5(用Dojo处理表单)

5.Dojo处理表单

主要讲的是下面的代码片断,当用户提交表单的时候,需要先主动执行一下类似下面的代码,保证数据正确后在去执行submit操作:

function processForm() {

        var custForm = dijit.byId("custForm");

        var firstInvalidWidget = null;

        dojo.every(custForm.getDescendants(), function(widget){

           var value = widget.getValue ? widget.getValue() : widget.value;

           var name = widget.name;

           console.log("Name: ", widget.name);

           if(!name){ return true; }

           if(name=="comments"){ return true; }

           if(name=="serviceDate"){ return true; }

        

            firstInvalidWidget = widget;

           console.log("widget: ", widget);

           console.log("valid: ", widget.isValid);

           return !widget.isValid || widget.isValid();

      });     

      if (firstInvalidWidget != null) {

       firstInvalidWidget.focus();

      } else {

        custForm.submit();

    }

}

先声明有些代码我也没有读明白,但经过测试是正确的。大体的意思就是通过dojo.ervery函数迭代cusForm里的每个widget,并调他们的isValid函数,在我的测试过程中始终没有调用custForm.submit(),但确可以正确的提交表单?




 
Dojo 用Dojo的javascript库去建立Ajax应用-dojo指南->4(用Dojo的小控件)
Dojo 用Dojo的javascript库去建立Ajax应用-dojo指南->3(用Dojo实现与服务端的交互)
Dojo 用Dojo的javascript库去建立Ajax应用-dojo指南->2(用Dojo解决客户端的数据有效性检验)
Dojo的体系架构-这个图很重要
高价收购友情链接
web开发QQ群:43863047
sdaa
Re:photoshop修改图片字,修改button字
ps通过裁剪得到新图片的方法
javascript中的小技巧
自己写Html编辑器-创建一个可输入的区域
unix命令查看目录空间
tcp三次握手及原理
unix抓包命令例子
unix常用命令
linux的时区设置
Dojo 用Dojo的javascript库去建立Ajax应用-dojo指南->理解dojo
Dojo 用Dojo的javascript库去建立Ajax应用-致谢、作者简介
tt
关于“用Dojo的javascript库去建立Ajax应用”