天翎MyApps技术社区 - 低代码平台 | 流程管理系统 | BPM软件

 找回密码
 注册成为天翎用户
查看: 2288|回复: 0

[Iscript] 如何获取表单中所有控件名称【表单-获取表单控件名称(javascript/sql)】

[复制链接]
irene 发表于 2012-7-17 23:56:57 | 显示全部楼层 |阅读模式
本帖最后由 bess 于 2012-12-31 15:09 编辑

Q:如何获取表单中所有控件名称?
A:方法一:
通过观察前台表单页面的源代码,每一个控件都包含在一个span标签内,span标签id的格式类似“控件名称_divid”。那么可通过获取span标签的id值,然后截取除了“_divid”之外的字符,返回的字符则是控件的名称。表单页面源代码类似下图:
QQ截图20120717235535.jpg
可通过计算脚本写js代码实现需求。
  1. rtn = "<script>";
  2. rtn +="var list = document.getElementsByTagName("span");";//取到标签名为span的html元素,返回结果是该标签的对象列表
  3. rtn +="function aa(){";
  4. rtn +="for(var i = 0 ;i <list.length;i++){if(list[i].id!=""){";
  5. rtn +="var value = list[i].id;var k = value.indexOf("divid");"
  6. rtn +="alert(value.substring(0,k-1));}";//截取span的id除了“_divid”之外的字符
  7. rtn +="}}</script>";
  8. rtn +="<input type = 'button' value = 'button' onclick = aa() />";
  9. rtn;
复制代码
方法二:可通过sql语句实现。举个例子,可在下拉框的选项脚本中写脚本
  1. var opts = createOptions();
  2. opts.add("","");
  3. var sql = "SELECT COLUMN_NAME AS item_column FROM information_schema.columns WHERE table_name ='tlk_oneone'  AND COLUMN_NAME LIKE  'ITEM%' ";//tlk_oneone是数据表名
  4. var datas = queryByDSName("datasourcename",sql);//第一个参数为数据源名称
  5. println("datas=="+datas);
  6. if(datas!=null){
  7.    for(var iterator = datas.iterator();iterator.hasNext();){
  8.        var doc = iterator.next();
  9.        var name= doc.get("column_name");
  10.            opts.add(name,name);
  11.         }
  12. }
  13. opts;
复制代码

本版积分规则

QQ|手机版|天翎MyApps技术社区 ( 粤ICP备11093750号 )

GMT+8, 2026-8-12 15:29

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表