4天学会 NoahWeb 表单 - 第三天

web

 欢迎大家来到第三天的学习,真高兴又见到你! 在前两天的课程中,我们一起熟悉了NoahWeb中的表单资源. 今天一起来学习在表单中传值的方法。先让我们先从一个举个例子来说吧!在一个应用中我们为添加用户所需的输入操作制作好一表单,可以满足新建一个用户时候的信息输入了,而当修改用户个人资料的时候,也使用一个表单将先前填写的资料回显出来.这样的情况我们没有必要为这个功能再去写一张表单,用之前的的那个就OK了!
  而关于回显出用户资料,就需要了解NoahWeb中的表单传值了.还是看着代码来说吧!这样说得明白!^_^

<Form Id="faqstatusadd" Text="DEMO" A="Value">
  <Line Text="">
    <InputLine Text="A:" Desc="">
      <Input Id="faqstatusname" Type="text" LinkValue="[A]">
        <Label></Label>
        <LabelClass>label</LabelClass>
        <NullErrorString>Error!</NullErrorString>
        <class>myinputstyle</class>
      </Input>
    </InputLine>

上面不是一个完整的表单我只把要说的代码贴出来了。需要讲的重点我也加粗了。

  第一步:在需要传值的表单的Form标签中添加一个接收值的变量.例子中就是A="Value"这一段,这么说吧!引号中的Value就是传过来的值,既然传过来了,表单这边需要有个变量来接收不是吗?所以创建了一个叫做A的变量来接收值.

  第二步:现在值传过来了,就该想想办法让它在表单中显示出来.这需要使用Input标签的LinkValue参数.这个参数指的是回显所对应的变量表达式。

  第三步:将LinkValue参数写到需要回显出值的Input中去.就像例子中这样:LinkValue="[A].希望用哪个Input来回显这个值,就加入LinkValue参数,而这个参数后跟的自然就是刚才已经接受到值的那个变量。NoahWeb中变量表示的方法我在第二天的时候已经和大家提过,要了解更多可以查看官方文档。

  第四步:想要显示出这张表单则需要一个“动作”,“动作”是NoahWeb的灵魂。调用任何资源都需要使用“动作”来完成。由于现在是在谈表单,所以就不讨论“动作”了。使用一个“动作”来调用这个表单,这需要用到ViewForm标签,它的作用就是显示出一张表单。并且传个值试一试.还是看代码吧!

<Action name="manager.addfaqstaus" NextAction="">
 <Out Area="main">
  <ViewForm FormLink="faqstatusadd" TemplateLink="baset2form" Action="setfaqstausinfo_ex" >
    <Var Value="'DEMO'" />
  </ViewForm>
  </Out>
</Action>

  这是一段动作中调用表单的代码,使用了Var标签给表单传了一个值,无论这个值是什么,像例子中这样手动写入一个值,还是查询数据库返回一个值都可以,因为刚才我们在表单那边已经做好的接收并显示的工作,所以这个值可以顺利的显示出来.如下图:

  其实这个传值的道理非常简单,就是用一个变量接收一个传进来的值,再找一个Input接收而已.很简单!

  如果是传多个值,这时候就是被选值为多选的情况下经常出现的,传值的道理是一样的,只不过这次需要使用","号将需要传过去的几个值分隔,在Input控件里回显的时候则是使用Values标签中的BySelectArrayString属性,而之前说的LinkValue只是用于单个输入值或是被选值的,如果是多个则使用Values中的BySelectArrayString!看下面代码:

我们可以在定义表单的时候使用

<Form Id="faqstatusadd" Text="DEMO" A="Value" B="Value">

上面的方式来接受两个变量值,然后在使用的Input中如下:

<Input Id="mygroup" Type="choice">
  <Label>可选择</Label>
  <LabelB>已选择</LabelB>
  <LabelClass>label</LabelClass>
  <size>10</size>
  <NullErrorString>Error!</NullErrorString>
    <Values BySelectArrayString="[B]">
      <option Value="1">a</option>
      <option Value="2">b</option>
      <option Value="3">c</option>
      <option Value="4">d</option>
      <option Value="5">e</option>
    </Values>
</Input>

  这是个choice类型控件,有五个可选值,a,b,c,d,e现在我们想要回显出a,b和d的值,那就在动作调用表单时写入下面的代码:

<Action name="manager.addfaqstaus" NextAction="">
 <Out Area="main">
  <ViewForm FormLink="faqstatusadd" TemplateLink="baset2form" Action="setfaqstausinfo_ex" >
    <Var Value="'DEMO'" />
    <Var Value="'1,2,4'" />
  </ViewForm>
  </Out>
</Action>

这时候我们给表单传递了两个值进去,被表单接受后分别就成了AB,表单被显示出来后显示结果如下图:

  如果需要回显的多个值需要使用查询数据库的返回结果,那么你可以使用Loop依次循环出这些值,写进一个数组,就OK了!我在这里就不再多说了.

  好啦!写了这么多,大家慢慢看吧!我有点累,洗洗睡啦!明天再写……

时间: 2024-09-13 20:39:07

4天学会 NoahWeb 表单 - 第三天的相关文章

4天学会 NoahWeb 表单

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

4天学会 NoahWeb 表单 - 第一天

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

4天学会 NoahWeb 表单 - 第四天

web 大家好!又见面了!今天我们学习另一种非常又有的表单控件--多级关联类型控件.今天是我这篇教程的最后一天了,首先感谢大家几天来的支持--谢谢! 不知道你有没有遇到这种情况,有的时候,页面上提供了两个下拉选择给用户,本来挺简单的事情,可是,第二个下拉单中的可选值是根据用户在第一个下拉单的选择而生成的.做这样的东西都需要写很多javascript的代码,巨麻烦!前些日子看了看NoahWeb,发现它提供这样的一种控件,叫做"多级关联类型控件"琢磨了一下发现挺好用的,今天说给大家听听!

4天学会 NoahWeb 表单 - 第二天

web 大家好!今天是第二天,昨天讲了讲NoahWeb中"表单"的入门知识,今天我们来接着看看其他内容. 表单中的各种控件中,只要牵扯到带有"被选值"的控件,比如select,radio,choice类型等等,在NoahWeb表单中就可以使用Values标签来为其提供"被选值",使用Values标签还可以很容易的从数据库中获得被选值内容,Values用起来很方便.今天给大家讲的就是这部分内容. 还记得昨天说到的那些控件吗?比如Select,就是下

js校验表单后提交表单的三种方法

本篇文章主要是对js校验表单后提交表单的三种方法进行了总结介绍,需要的朋友可以过来参考下,希望对大家有所帮助 第一种:  代码如下: <script type="text/javascript">          function check(form) {             if(form.userId.value=='') {                 alert("请输入用户帐号!");                 form.us

ExtJs 备忘录(3)—— Form表单(三) [ 数据验证 ]

前言 本章主要讲ExtJS表单验证方面,正好趁着周末多写两篇,一边梳理之前用过的代码,一边就地取材补充相关方面的资料,算是温习+补习吧 : ) 系列 1. ExtJs 备忘录(1)-- Form表单(一) [ 控件使用 ] 2. ExtJs 备忘录(2)-- Form表单(二) [ 控件封装 ] 3. ExtJs 备忘录(3)-- Form表单(三) [ 数据验证 ] 推荐 1. ExtJS中表单验证使用自定义vtype示例  2. ExtJs2.0学习系列(5)--Ext.FormPanel之

js校验表单后提交表单的三种方法总结

作者: 字体:[增加 减小] 类型:转载 时间:2014-02-28 本篇文章主要是对js校验表单后提交表单的三种方法进行了总结介绍,需要的朋友可以过来参考下,希望对大家有所帮助 第一种: 复制代码 代码如下: <script type="text/javascript">          function check(form) {           if(form.userId.value=='') {                 alert("请输入

activiti自定义流程之自定义表单(三):表单列表及预览和删除

注:(1)环境配置:activiti自定义流程之自定义表单(一):环境配置         (2)创建表单:activiti自定义流程之自定义表单(二):创建表单 自定义表单创建成功,要拿到activiti中使用,自然需要让创建activiti流程的人能够看到究竟有那些表单可用,各表单的效果是什么,因此就需要一个展示页面并提供预览功能.同时,增删改查四大功能是基础,自然都是需要的,我这里没有做表单修改,只简单的实现了删除. 我下载的ueditor插件中有基本的创建和预览代码,因此我就参考这些再度

详解Bootstrap创建表单的三种格式(一)_javascript技巧

 在本章中,我们将学习如何使用 Bootstrap 创建表单.Bootstrap 通过一些简单的 HTML 标签和扩展的类即可创建出不同样式的表单.  Bootstrap表单类型分为三种格式:垂直或基本表单.内联表单.水平表单. 垂直或基本表单(display:block;) 基本的表单结构是 Bootstrap 自带的,个别的表单控件自动接收一些全局样式.下面列出了创建基本表单的步骤: 向父 <form> 元素添加 role="form". 把标签和控件放在一个带有 cl