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