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

[已解决] 表单项中预付值

  [复制链接]
jqfang 发表于 2014-8-19 07:46:43 | 显示全部楼层 |阅读模式
本帖最后由 nice 于 2014-8-22 18:25 编辑

在表单中某些数字项要预付值,例如60 (default value)。 但在填表单时要求有时可以改变其值, 例如改为50。怎样实现?
default value.jpg
david 发表于 2014-8-19 09:56:46 | 显示全部楼层
  1. var rtn = getItemValueAsDouble("费用金额");//改成你的字段值
  2. if(rtn == null || rtn ==0 )
  3. {
  4. rtn = 50;
  5. }
  6. rtn;
复制代码
回复

使用道具 举报

 楼主| jqfang 发表于 2014-8-19 14:29:58 | 显示全部楼层
回复 2# david

要求: 打开表单时,default value 是60, 可改成任意其他数,包括0。然后save。
回复

使用道具 举报

 楼主| jqfang 发表于 2014-8-19 14:54:47 | 显示全部楼层
因值可改为0,但如将rnt==0 拿掉,则default value,60,打开表单时显示不出。
当改为其他数后,save出错,prepError !!!
回复

使用道具 举报

david 发表于 2014-8-19 16:03:58 | 显示全部楼层
把2楼的代码中的第二行改为:if(rtn=="")
回复

使用道具 举报

 楼主| jqfang 发表于 2014-8-19 23:30:10 | 显示全部楼层
改了, 但
1。 填入值改与不改,都不能save, 报错, prepData Error!!!
2. 如填入值改为0,报错同时,值自动改为default value,60.
回复

使用道具 举报

 楼主| jqfang 发表于 2014-8-19 23:40:49 | 显示全部楼层
报错找到原因。
var rtn = getItemValueAsDouble("loading_mt");//改成你的字段值
if(rtn == "" )
{
rtn = 23.5;
}
rtn;

填入值改为0,值自动改为default value,23.5. 改为其他值没问题。
回复

使用道具 举报

david 发表于 2014-8-20 12:51:09 | 显示全部楼层
楼主程序版本?我本地在M3上测试通过。
回复

使用道具 举报

 楼主| jqfang 发表于 2014-8-20 13:30:40 | 显示全部楼层
应该是2.5sp8 所有补丁
回复

使用道具 举报

kharry 发表于 2014-8-20 14:17:00 | 显示全部楼层
首先应该先判断字段是否有值先
先获取值
var xxx = getItemValue("XXXX");
判断值是否为空 为空或为0的时候就返回60这里也不需要特地去转字符串

if(xxx  != null || xxx.trim().length()>0 || xxx.equals("0")){
"60";
}
xxx;

最好要在save的执行前脚本再判断一次 如果为0则直接写进60

var doc = getCurrentDocument();
var xxx = getItemValue("XXXX");
if(xxx  != null || xxx.trim().length()>0 || xxx.equals("0")){
doc.addStringItem("XXXX","60");
}
回复

使用道具 举报

本版积分规则

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

GMT+8, 2026-8-13 22:38

Powered by Discuz! X5.0

© 2001-2026 Discuz! Team.

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