您的位置: 首页 > 技术文档 > 网络编程 > 4天学会 NoahWeb 表单
多种Web脚本语言下的日历实现 回到列表 用NoahWeb表现层制作动态网站
 4天学会 NoahWeb 表单

作者:jasoncode 时间: 2005-07-20 文档类型:原创 来自:蓝色理想

第 1 页 第一天
第 2 页 第二天
第 3 页 第三天
第 4 页 第四天

  HTML中表单是网络应用里极为常见的东西,B/S应用中有关用户数据输入都需要通过表单来实现,简单的表单或少量表单可通过Dreamweaver等类似的所见即所得的工具来进行编写。可对于表单比较多的应用系统就希望有一种机制来帮我们快速开发出表单,新一代B/S开发语言NoahWeb就提供了这样的机制,可用基于XML的结构化方式制作所需表单,在实际调用的时候再根据指定的模板文件来生成最终表单,这无疑可以把很多制作表单麻烦的工作简化,学会这种的制作方式后开发B/S应用中的表单就很easy了!

  好啦!开始了!

  要制作表单可以通过NoahWeb Designer(NoahWeb设计器)打开名称空间下的表单文件(名称空间下的Forms.xml.config文件):

然后设计器就会用你预先设定好的文本编辑器打开表单文件,我在这设置的是EDITPLUS,如下:

Forms就是表单资源中的根节点,所有的表单都必须存在该根节点下。并且使用Form标签来进行描述。如果有两个表单那么简单点来说Form的写法就如下:

  OK,讲完Form就让我们来初步了解一下NoahWeb中的“表单资源”的基本结构和NoahWeb提供的控件。

表单的基本结构

  先看一张截图吧!



上面这个是一个很简单的表单,下面是关于这张表单NoahWeb表单结构代码,绿色字体是当前行或者上一行的注释(后面的内容都省略Forms不提了):

  第一步,先看截图最外层的节点<Form Id="" Text=""></Form>标签,刚才我们见过Form的属性Id和Text,Id可以随便输入表示的是此Form的一个引用名,引用名是为了调用该表单的时候用的,Text是这个表单的显示名字,用来作为生成该表单的时的文本。我们可以根据自己的需要输入Id和Text。注意:多个Form的Id不能重复。

  第二步要建立一个表单输入区<Line Text=""></Line>,Line标签的作用我们可以先把他简单的理解成HTML里的table相似。

  第三步要在输入区中建立一个新的输入行<InputLine Text="" Desc=""></InputLine>,InputLine标签的作用我们可以先把他简单的理解成HTML里的tr相似,一个输入区里面可以有多个输入行。

  第四步要要输入行中建立一个描述控件的标签<Input Id="" Type=""></Input>, Input标签也可以先简单理解成和HTML里的td相似,一个输入行中也可以有多个描述控件的标签,

  第五步要在Input标签内添入一些所要描述标签的具体参数,例如:Input显示名称的标签<Label></Label>,Input显示名称使用样式的标签<LabelClass></LabelClass>,Input显示尺寸的标签<size></size>,为了程序能根据需要你还可以加入校验标签,这样一个表单就完成了。

表单可以定义很多常用的控件类型,不同的类型在Input的Type中指定的是不同的,如下面这些图所示:

除了常见类型外NoahWeb还提供了一些在HTML不存在的输入类型:如下面:

  你可以把各段代码放到一个Line标签里看看结果如何,其它的就不依依列举了,大家自己试试就知道了。

  列举表单中支持的控件类型,大家可做一下参考: (用*表示的是HTML中没有的)

hidden 隐藏变量域
text 单行文本输入区
checkbox 多选框
file 上传文件选择框
image 图片按钮,当图片地址为空时不会显示
password 密码输入区
radio 单选框
reset 重设按钮
button 按钮
label 文本或HTML显示标签*
date 日期选择输入区*
choice 选择内容输入区*
submit 表单提交按钮
select 单选输入区
select-multiple 多选输入区
textarea 多行文本输入区

 

TitleLine和位置控制
  TitleLine是标题行标签,可以显示一个表单的标题,上面登陆表单是没有标题的,也就是说,里面没有TitleLine标签,加入TitleLine后的结果是这样的:

  上述结果在代码中要做的改动很小,只要在代码第四行的前边加上<TitleLine Text="标题" />就可以,标题可以有多个,需要注意的是TitleLine和Line是同级的,不能相互嵌套。

  InputLine和Line都是用来控制位置的,上面管理员登陆的页面中用户名和密码是分两行来摆放的,如果需要把他们放在一行上,只要把两个Input标签放到一个InputLine标签里就行了:

  代码也做了稍稍的调整,这里的用户名和密码标签用的是label类型控件,代码:

检验标签

  如果我们希望使用系统的人在填写制作的表单时符合我们所希望的输入内容和格式就可以配合使用NoahWeb表单的检验标签来做,如果不符合规则的话会出现提示,我们可以看看login表单第9和16的两行代码:

<NullErrorString>请输入您的登陆用户名</NullErrorString>

  这里做的是空字符检验,如果用户没有输入内容就提交的话就会出现“请输入您的登陆用户名”的提示:

  检验标签的类型也有好多种,已经包含了各种常用到的检测,这里也不依依列举了,有兴趣的话自己研究一下吧,也可以去NoahWeb的官方帮助文档看看 http://docs.noahweb.net

出处:蓝色理想
责任编辑:蓝色

上一页 下一页 第二天

◎进入论坛网络编程版块参加讨论

作者文章
多种Web脚本语言下的日历实现
4天学会 NoahWeb 表单
表单制作方式大比拼
用NoahWeb表现层制作动态网站
热门搜索:CSS Fireworks 设计比赛 网页制作 web标准 用户体验 UE photoshop Dreamweaver Studio8 Flash 手绘 CG
站点最新 站点最新列表
悟道web标准:前端性能优化
纯中文域名".中国"今日提交申请
世界之窗3.0皮肤设计大赛结果公布
使用jQuery制作滑动动画效果的层
如何设计网页横幅
Plump 图标设计
Subrat Nayak图标设计
百度知道推出文档分享服务
CSS Sprites(CSS雪碧):要还是不要?
UIRSS三周年纪念日推出V2公测版
栏目最新 栏目最新列表
Firefox的Jetpack扩展案例分析
阿里妈妈UED谈CSS Sprites技术
Photoshop中设计绿色时尚Web网站
操作Dom节点实现间歇滚动新闻
浏览器15年历史回顾
如何创建Firefox的Jetpack扩展
全透视:CSS Z-index 属性
用PS 3D工具绘制甜麦圈包装袋
悟道Web标准:让W3C标准兼容终端
悟道WEB标准:统一思想,遵循标准
>> 分页 首页 前页 后页 尾页 页次:1/41个记录/页 转到 页 共4个记录

蓝色理想版权申明:除部分特别声明不要转载,或者授权我站独家播发的文章外,大家可以自由转载我站点的原创文章,但原作者和来自我站的链接必须保留(非我站原创的,按照原来自一节,自行链接)。文章版权归我站和作者共有。

转载要求:转载之图片、文件,链接请不要盗链到本站,且不准打上各自站点的水印,亦不能抹去我站点水印。

特别注意:本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有,文章若有侵犯作者版权,请与我们联系,我们将立即删除修改。

本文现有 3 条评论 评分:- llllllllllllllllllll + 评分人数: 2 ,平均分: 3.00


81asp Publish at 2005-7-23 17:27:30 评分5
昨天在网易学院看到这个教程了。
蓝色 Publish at 2005-7-23 10:49:44
是团队成员单独开发,不属于蓝色理想团队所有。
Aether Publish at 2005-7-22 9:39:00 评分1
这是蓝色团队开发的么?
您的评论
用户名:  口令:
说明:输入正确的用户名和密码才能参与评论。如果您不是本站会员,你可以注册 为本站会员。
注意:文章中的链接、内容等需要修改的错误,请用报告错误,以利文档及时修改。
不评分 1 2 3 4 5
注意:请不要在评论中含与内容无关的广告链接,违者封ID
请您注意:
·不良评论请用报告管理员,以利管理员及时删除。
·尊重网上道德,遵守中华人民共和国的各项有关法律法规
·承担一切因您的行为而直接或间接导致的民事或刑事法律责任
·本站评论管理人员有权保留或删除其管辖评论中的任意内容
·您在本站发表的作品,本站有权在网站内转载或引用
·参与本评论即表明您已经阅读并接受上述条款
推荐文档 | 打印文档 | 评论文档 | 报告错误  
专业书推荐 更多内容
《Web标准设计》
闪魂-FlashCS4完美入门与案例精粹
Waver_h's华丽世界
Illustrator CS3质感绘画表现技法
《Flash短片轻松学》
《用户体验要素》
《JavaScript语言精粹》
作品集 更多内容

Initial View 双生子日记星座卡 公寓类地产站 仙谷运用 服装人像摄影 我的学习 写实绘画风格--蔬菜篇 弄哪儿了?