起步软件技术论坛
搜索
 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 3657|回复: 10

[结贴] 请问怎么用代码控制某个控件必填?

[复制链接]

170

主题

838

帖子

2136

积分

金牌会员

Rank: 6Rank: 6

积分
2136
QQ
发表于 2014-5-16 13:23:38 | 显示全部楼层 |阅读模式
版本: X5.2.7 小版本号:
数据库: Oracle 服务器操作系统: Windows 应用服务器: Tomcat
客户端操作系统: Windows 7 浏览器: IE9
如题,或者怎么判断某个控件是显示还是隐藏?
你不向前奔跑,没有人愿意停下来等你!

45

主题

4492

帖子

3960

积分

论坛元老

Rank: 8Rank: 8

积分
3960
QQ
发表于 2014-5-16 13:30:14 | 显示全部楼层
在data上添加编辑规则, required 上写 call('myRequired','aa')
function myRequired(aa){
   if(aa = 'aa'){
    return true;
  }
else{
   return false;
}
}
如果没的参数 可以直接这样写 call('myRequired'),只要该方法返回 true 或 false 就可以

你也可以参考下面的贴子  4楼
http://bbs.justep.com/forum.php? ... B%E5%BF%85%E5%A1%AB

评分

参与人数 1 +4 收起 理由
jishuang + 4 赞一个!

查看全部评分

向前进,向前进,我们……
回复 支持 反对

使用道具 举报

170

主题

838

帖子

2136

积分

金牌会员

Rank: 6Rank: 6

积分
2136
QQ
 楼主| 发表于 2014-5-16 14:05:29 | 显示全部楼层
fpj 发表于 2014-5-16 13:30
在data上添加编辑规则, required 上写 call('myRequired','aa')
function myRequired(aa){
   if(aa = 'aa ...

这种方法我试了,不管用,不知道是我那块设置有问题,我把代码贴出来,麻烦帮忙看看!
判断真假的函数
function checkJDDM(flag){
        if(flag=="t"){
                return true;
        }else{
                return false;
        }
}

这是我一个数据集里面的函数,调用了checkJDDM方法
if (key == "flag") {
        checkJDDM(value);
        if (value == "t") {               
                $('#gdsFBWMC').css('display', 'block');
        } else {
                $('#gdsFBWMC').css('display', 'none');
        }
}


我在数据集里面的某个字段的required属性添加了属性值为call("checkJDDM")
你不向前奔跑,没有人愿意停下来等你!
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
35942
发表于 2014-5-16 14:57:24 | 显示全部楼层
call("checkJDDM")     checkJDDM(flag)需要的参数没有传
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

170

主题

838

帖子

2136

积分

金牌会员

Rank: 6Rank: 6

积分
2136
QQ
 楼主| 发表于 2014-5-16 15:21:01 | 显示全部楼层
本帖最后由 hua_love2011 于 2014-5-16 15:22 编辑
jishuang 发表于 2014-5-16 14:57
call("checkJDDM")     checkJDDM(flag)需要的参数没有传

我的参数不是固定的,我是用数据集中的某个字段的去调用的,那这样的,我该怎么实现呢?
假如我数据集中的设备名称变动了就会执行下面的代码去执行:

if (event.column == "fSBMC") {
                data.setValue("fBWMC", ""); // 清空部位名称
                data.setValue("fBJMC1", ""); // 清空部件名称1
                data.setValue("fBJMC2", ""); // 清空部件名称2
                data.setValue("fBJMC3", ""); // 清空部件名称3

                var fSBMCDM = data.getValue("fSBMCDM"); // 获取设备名称代码
                var param = new justep.Request.ActionParam();
                param.setString("jddm", fSBMCDM);

                justep.Request.sendBizRequest2({
                        action : "getGNWZInfoByJDDMAction",
                        dataType : "json",
                        parameters : param,
                        callback : function(result) {
                                if (result.state) {
                                        $.each(result.response, function(key, value) {
                                                if (key == "gnwzbm") {
                                                        data.setValue("fGNWZBM", value);
                                                }
                                                if (key == "gnwzmc") {
                                                        data.setValue("fGNWZMC", value);
                                                }
                                                if (key == "sbbm") {
                                                        data.setValue("fSBBM", value);
                                                }
                                                if (key == "flag") {
                                                        checkJDDM(value);
                                                        if (value == "t") {
                                                                $('#gdsFBWMC').css('display', 'block');
                                                        } else {
                                                                $('#gdsFBWMC').css('display', 'none');
                                                        }
                                                }
                                        });
                                }
                        }
                });
               
                //将已上报且没有处理完成的记录加载到“dataYSBWT”数据集中
                justep.Request.sendBizRequest2({
                        action: "getSBWXJLByJDDMAction",
                        dataType: "json",
                        parameters : param,
                        callback: function(result) {
                                if (result.state) {
                                        justep.xbl("dataYSBWT").loadJson(result.response);                                       
                                } else {
                                        throw new Error("调用失败!|" + result.response.message);
                                }
                        }
                });
               
                $('#gdsFBJMC1').css('display', 'none'); // 隐藏部件名称 1
                $('#gdsFBJMC2').css('display', 'none'); // 隐藏部件名称 2
                $('#gdsFBJMC3').css('display', 'none'); // 隐藏部件名称 3
你不向前奔跑,没有人愿意停下来等你!
回复 支持 反对

使用道具 举报

170

主题

838

帖子

2136

积分

金牌会员

Rank: 6Rank: 6

积分
2136
QQ
 楼主| 发表于 2014-5-16 15:29:35 | 显示全部楼层
我要做的功能类似于省市级联,但是如果我这个省下面有市,市就是必填项,如果选了市,下面还有县,那县也必须有选项,必须要没有选到没有子节点了弹出了
你不向前奔跑,没有人愿意停下来等你!
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
35942
发表于 2014-5-16 16:29:55 | 显示全部楼层
flag是data上的关系名?
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

170

主题

838

帖子

2136

积分

金牌会员

Rank: 6Rank: 6

积分
2136
QQ
 楼主| 发表于 2014-5-16 17:16:24 | 显示全部楼层
本帖最后由 hua_love2011 于 2014-5-16 17:18 编辑
jishuang 发表于 2014-5-16 16:29
flag是data上的关系名?

不是,flag是我用于判断某个节点是否还有子节点用的

/**
  * 根据节点代码获取功能位置信息
  * @param jddm
  *     节点代码
  */
public static Map<String, String> getGNWZInfoByJDDM(String jddm) {
  java.sql.Connection conn = null;
  java.sql.PreparedStatement ps = null;
  java.sql.ResultSet rs = null;
  Map<String, String> map = new HashMap<String, String>();
  try {
   //获取数据源
   conn = ModelUtils.getConnection("/sbwxgl/sbwxxx/data");
   ContextHelper.getTransaction().begin(conn);
   String sql = "select * from v_SbAndUserAndDept where bwCode='" + jddm + "'";
   ps = conn.prepareStatement(sql);
   rs = ps.executeQuery(); //执行查询操作
   if (rs != null) {
    if (rs.next()) {
     map.put("gnwzbm", rs.getString("BWCODE"));
     map.put("gnwzmc", rs.getString("GNWZNAME"));
     map.put("sbbm", rs.getString("SBNUM"));
     map.put("flag", checkFlagSub(jddm));
    }
   }
   return map;
  } catch (Exception e) {
   throw new RuntimeException(e.getMessage());
  } finally {
   try {
    rs.close(); //关闭结果集对象
    ps.close(); //关闭语句对象
    conn.close(); //关闭数据库连接
   } catch (SQLException e) {
    e.printStackTrace();
   }
  }
}

/**
  * 根据节点代码检查该节点是否还有子节点
  * @param jddm
  *     节点代码
  */
public static String checkFlagSub(String jddm) {
  java.sql.Connection conn = null;
  java.sql.PreparedStatement ps = null;
  java.sql.ResultSet rs = null;
  int num = 0;
  try {
   //获取数据源
   conn = ModelUtils.getConnection("/sbwxgl/sbwxxx/data");
   ContextHelper.getTransaction().begin(conn);
   String sql = "select count(*) num from jc_sbkks@db_dj where f_jddm='" + jddm + "'";
   ps = conn.prepareStatement(sql);
   rs = ps.executeQuery(); //执行查询操作
   if (rs != null) {
    if (rs.next())
     num = rs.getInt("NUM");
   }
   if (num > 0) { //如果大于0,表示改节点还有子节点
    return "t";
   }
   return "f";
  } catch (Exception e) {
   throw new RuntimeException(e.getMessage());
  } finally {
   try {
    rs.close(); //关闭结果集对象
    ps.close(); //关闭语句对象
    conn.close(); //关闭数据库连接
   } catch (SQLException e) {
    e.printStackTrace();
   }
  }
}
你不向前奔跑,没有人愿意停下来等你!
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
35942
发表于 2014-5-16 17:38:34 | 显示全部楼层
如果是这样就不要在规则中设置了,在需要的地方,js取值判断一下值如果为空,就alert告诉他必须填值
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

170

主题

838

帖子

2136

积分

金牌会员

Rank: 6Rank: 6

积分
2136
QQ
 楼主| 发表于 2014-5-17 08:54:24 | 显示全部楼层
jishuang 发表于 2014-5-16 17:38
如果是这样就不要在规则中设置了,在需要的地方,js取值判断一下值如果为空,就alert告诉他必须填值 ...

所以我想在保存的时候,判断那几个级联的下拉框的display属性有没有是显示的,如果有,就给出该控件必填的提示
你不向前奔跑,没有人愿意停下来等你!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|X3技术论坛|Justep Inc.    

GMT+8, 2024-5-18 14:44 , Processed in 0.082008 second(s), 29 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

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