4天学会 NoahWeb 表单 - 第二天

大家好!今天是第二天,昨天讲了讲NoahWeb中"表单"的入门知识,今天我们来接着看看其他内容。

表单中的各种控件中,只要牵扯到带有“被选值”的控件,比如select,radio,choice类型等等,在NoahWeb表单中就可以使用Values标签来为其提供“被选值”,使用Values标签还可以很容易的从数据库中获得被选值内容,Values用起来很方便。今天给大家讲的就是这部分内容。

还记得昨天说到的那些控件吗?比如Select,就是下拉单,表单里最常用的。一个下拉单中的可选值可以用

 1<option value="">标签往里加,就像下面的代码一样: 
 2
 3&gt; &gt; ** <option value="A">A</option> **
 4
 5这个是用固定好的值来作为“被选值”内容的,而很多时候我可以是需要用数据库中存在的内容来作为被选值的,这情况下就可以使用我们今天要讲的内容——用数据库的内容作为被选值。我们还是看下面的代码好啦: 
 6
 7&gt; &gt; <inputline desc="" text="部门:">
 8&gt;&gt; 
 9&gt;&gt; <input id="mydept" type="select"/>
10&gt;&gt; 
11&gt;&gt; <label></label>
12&gt;&gt; 
13&gt;&gt; <labelclass>label</labelclass>
14&gt;&gt; 
15&gt;&gt; <nullerrorstring>请选择员工所在部门!</nullerrorstring>
16&gt;&gt; 
17&gt;&gt; &lt; **Values** ValuesSQLLink="dept_S_all" ValuesSQLValue="[_LOOP.*.id]" ValuesSQLLabel="[_LOOP.*.name]" BySelectArrayString="[mydept]"&gt;
18&gt;&gt; 
19&gt;&gt; <option value="">请选择</option>
20&gt;&gt; 
21&gt;&gt; <!-- **Values** -->
22&gt;&gt; 
23&gt;&gt; <class>myinputstyle</class>
24&gt;&gt; 
25&gt;&gt; 
26&gt;&gt; 
27&gt;&gt; </inputline>
28
29上面的例子中,用dept_S_all这个数据库操作集查询了一下数据库的dept表,dept表的结构和内容如下: 
30
31![](http://edu.chinaz.com/Files/BeyondPic/D4ACD748BFAE698DDB1C461ABD32A150.GIF)
32
33dept_S_all数据库操作集的在NoahWeb  设计  器中的样子如下: 
34
35![](http://edu.chinaz.com/Files/BeyondPic/6ECCFEE6070E7D9D6E74EF91C0AAA0C2.gif)
36
37有关NoahWeb设计器中的数据库操作大家可以参看其他的文章,今天咱们讲表单就不说这些内容了。 
38
39我们还是回过头来看代码。还是上面那段代码: 
40
41&gt; &gt; <inputline desc="" text="部门:">
42&gt;&gt; 
43&gt;&gt; ** <input id="mydept" type="select"/> **
44&gt;&gt; 
45&gt;&gt; <label></label>
46&gt;&gt; 
47&gt;&gt; <labelclass>label</labelclass>
48&gt;&gt; 
49&gt;&gt; <nullerrorstring>请选择员工所在部门!</nullerrorstring>
50&gt;&gt; 
51&gt;&gt; &lt; **Values** ValuesSQLLink="dept_S_all" ValuesSQLValue="[_LOOP.*.id]" ValuesSQLLabel="[_LOOP.*.name]" BySelectArrayString="[mydept]"&gt;
52&gt;&gt; 
53&gt;&gt; <option value="">请选择</option>
54&gt;&gt; 
55&gt;&gt; <!-- **Values** -->
56&gt;&gt; 
57&gt;&gt; <class>myinputstyle</class>
58&gt;&gt; 
59&gt;&gt; **  **
60&gt;&gt; 
61&gt;&gt; </inputline>
62
63大家看到上面代码中的Input的Type了吗?是个Select是下拉单,再看看Values标签中的部分,细节部分听我慢慢道来! 
64
65&gt; 1、先看Values标签,它可以用来指定控件中可选值的来源。而今天讲的使用数据库查询方式给控件提供可选值就需要配合使用Values标签的几个参数。 
66&gt; 
67&gt; 2、参数ValueSQLLink来指定一个数据库操作集,用来表明通过那一个数据库操作来获得被选值的内容。现在我指定的就是“dept_S_all”这个操作集。这样就会根据dept_S_all操作集的返回结果来循环生成被选值内容。 
68&gt; 
69&gt; 3、ValueSQLValue参数来表示该控件的可选择值的值所对应的变量表达式,简单点说我们希望用数据库中的id字段的内容来做为被选值的值内容就可以写成“[_LOOP.*.id]”。在这说明一下NoahWeb中的变量都是使用"[]"来标识的,而[_LOOP.*.id]就是一种变量表示的方法,要了解更多NoahWeb变量表示方法大家可以查看NoahWeb的官方文档。 
70&gt; 
71&gt; 4,ValuesSQLLabel参数表示该控件的可选择值的值所对应的名称表达式。简单点说我们希望用数据库中的name字段内容来做被选值的显示文本,就写成“[_LOOP.*.name]”。 
72&gt; 
73&gt; 说白了,ValuesSQLLabel是在下拉单中看到的值,而ValueSQLValue则是当你在下拉单中选择了一个值之后它所对应的值。 
74&gt; 
75&gt; 把这个select放到一个NoahWeb表单中的时候,我们看看表单中的样子。如下图: 
76
77![](http://edu.chinaz.com/Files/BeyondPic/69011931C2B6478609E9303069BD554B.GIF)
78
79本新闻共  2  页,当前在第  1  页  1  2</option>
Published At
Categories with 网页设计
comments powered by Disqus