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

QQ登录

只需一步,快速开始

查看: 7326|回复: 14

[结贴] 关于事件的js问题

[复制链接]

10

主题

53

帖子

86

积分

初级会员

Rank: 2

积分
86
QQ
发表于 2014-4-18 15:21:01 | 显示全部楼层 |阅读模式
版本: 小版本号:
数据库: 服务器操作系统: 应用服务器:
客户端操作系统: 浏览器:
问题1.jpg


hello ,我第一次进论坛,以前都是自己琢磨。我的问题是这样的
我先描述一下业务
1,上半部分为主表,下半部分为从表
2,当输入框值改变时,从表中所有行的一个字段随之改变
问题1
我是第一次是放在input  的 onchange中写的代码,但是想要的效果并没有实现,只是改变了从表data中id为0的一行数据的字段(只改变了一行)。
第二次是放在保存按钮的onclick的事件中都没实现想要的效果。怎样才能实现我的效果呢

问题2
同样一些字段的复杂校验,想在点击保存时按照正则校验走,不符合时 弹出提示信息 return ,然而在我实现的过程中我发现,即使提示信息弹出,也会提示数据保存成功。


我觉得两个问题都是一样的,麻烦了。比较急,谢谢!


133

主题

496

帖子

931

积分

高级会员

Rank: 4

积分
931
QQ
发表于 2014-4-18 15:29:32 | 显示全部楼层
本帖最后由 mj19881029 于 2014-4-18 15:36 编辑

问题1:setValue的用法,setValue("关系名","值","主键ID"),这里你可以使用data.getID(i),来获取第I行的ID
问题2:想要保存动作不执行 要设置event.cancel = true;
补充一下:问题1中,你是想把从表中所有行的某个字段值改变,那就得遍历从表然后改变值吧,不知道有没有其他的方便的方法

评分

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

查看全部评分

回复 支持 反对

使用道具 举报

11

主题

1134

帖子

1261

积分

金牌会员

Rank: 6Rank: 6

积分
1261
QQ
发表于 2014-4-18 15:32:12 | 显示全部楼层
第一个问题   就是当你输入完后也就是改变值后 要去过滤从表数据
第二个问题   添加编辑规则 在编辑规则中去校验
远程的联系方法QQ2025089647。添加好友时,需要填写论坛账号
发远程时同时也发一下帖子的地址,方便了解要
回复 支持 反对

使用道具 举报

发表于 2014-4-18 15:37:35 | 显示全部楼层
1、就在onchange事件中可以写。。。你要改变的是从表的某一行数据。。应该不是改变外键吧,外键是关联你主表的。。。var dataMaster = justep.xbl("dataMaster") var dataDetail = justep.xbl("dataDetail ")
for(var i = 0 ;i<dataDetail .getCount();i++){
var rowid = dataDetail .getID(i);  //获取子表每一行的ID
       dataDetail.setValue("需要改变的字段名",'主表获取的值',rowid)
}

2当你不符合的时候return false;或者是event.cancel = true;
先试试,有不同的问题再看

评分

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

查看全部评分

回复 支持 反对

使用道具 举报

10

主题

53

帖子

86

积分

初级会员

Rank: 2

积分
86
QQ
 楼主| 发表于 2014-4-18 15:52:10 | 显示全部楼层
song_ning_ning 发表于 2014-4-18 15:32
第一个问题   就是当你输入完后也就是改变值后 要去过滤从表数据
第二个问题   添加编辑规则 在编辑规则中 ...

某个字段要输入邮箱,用编辑规则的那个属性?
回复 支持 反对

使用道具 举报

10

主题

53

帖子

86

积分

初级会员

Rank: 2

积分
86
QQ
 楼主| 发表于 2014-4-18 15:53:52 | 显示全部楼层
gufanbiao 发表于 2014-4-18 15:52
某个字段要输入邮箱,用编辑规则的那个属性?

第一个问题是改变数据,并不是过滤,你说的过滤是将所有的值循环一边是吗,还是根据条件查询?
回复 支持 反对

使用道具 举报

10

主题

53

帖子

86

积分

初级会员

Rank: 2

积分
86
QQ
 楼主| 发表于 2014-4-18 15:59:47 | 显示全部楼层
mj19881029 发表于 2014-4-18 15:29
问题1:setValue的用法,setValue("关系名","值","主键ID"),这里你可以使用data.getID(i),来获取第I行的ID ...

谢谢,第一个问题已经解决,第二个问题保存动作继续执行,没有终止
回复 支持 反对

使用道具 举报

10

主题

53

帖子

86

积分

初级会员

Rank: 2

积分
86
QQ
 楼主| 发表于 2014-4-18 16:01:50 | 显示全部楼层
mj19881029 发表于 2014-4-18 15:29
问题1:setValue的用法,setValue("关系名","值","主键ID"),这里你可以使用data.getID(i),来获取第I行的ID ...

是的,就是便利所有行去改变
回复 支持 反对

使用道具 举报

10

主题

53

帖子

86

积分

初级会员

Rank: 2

积分
86
QQ
 楼主| 发表于 2014-4-18 16:04:27 | 显示全部楼层
忘了忘了 发表于 2014-4-18 15:37
1、就在onchange事件中可以写。。。你要改变的是从表的某一行数据。。应该不是改变外键吧,外键是关联你主 ...

哦,第一个问题最后一个参数我以为是索引,就错了
第二个问题,return 失败了,event.cancel = true;也没成功
回复 支持 反对

使用道具 举报

133

主题

496

帖子

931

积分

高级会员

Rank: 4

积分
931
QQ
发表于 2014-4-18 16:05:49 | 显示全部楼层
gufanbiao 发表于 2014-4-18 15:59
谢谢,第一个问题已经解决,第二个问题保存动作继续执行,没有终止

在onBeforeSave事件里 根据校验结果 判断是否保存,如果不保存,设置event.cancel=true;
参考:
  1. /**
  2.         name:process#onBeforeAdvanceQuery
  3.         description: <b>[回调型事件]</b>流转查询之前
  4.         @param event 它的结构如下:<br/>{"source":组件的js对象,"task":任务标识,"cancel":false}
  5. */
  6. mainActivity.flwBeforeAdvanceQuery = function(event){
  7.         var data = justep.xbl("dataMain");
  8.         var isOver = data.getValue("fIsOverBalance");
  9.         var mes = "";
  10.         var jhr = data.getValue("fJHR");
  11.         if(jhr==undefined || jhr==null || jhr==""){
  12.                 mes = "计划人不能为空\n";
  13.         }
  14.        
  15.         var money = data.getValue("fReimburseBalance");
  16.         if(money==undefined || money==null || money==""){
  17.                 mes += "请款金额不能为空\n";
  18.         }
  19.        
  20.         if(isOver=="是"){
  21.                 var reason = data.getValue("fReasonForOverBalance");
  22.                 if(reason==undefined || reason==null || reason.trim()==""){
  23.                         mes += "超计划原因不能为空\n";
  24.                 }
  25.         }
  26.         if(mes!=""){
  27.                 alert(mes);
  28.                 event.cancel = true;
  29.         }
  30.        
  31. };
复制代码

评分

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

查看全部评分

回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-19 13:00 , Processed in 0.077223 second(s), 29 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

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