通过JS给时间控件赋值相关问题

首先这是官方文档的说明:

image.png

然后我通过这三行代码确实实现了点击按钮时间控件显示值为昨天。

image.png

实际上我想实现的功能是返回时间控件所显示时间的前一天(这个后来已经通过DATEDELTA实现),但我想用帮助文档的setDate方法再实现一次,于是代码如下:

  var bdate=this.options.form.getWidgetByName("a");

  var edate=this.options.form.getWidgetByName("b");

  var start = this.options.form.getWidgetByName("a").getValue();

  var end = this.options.form.getWidgetByName("b").getValue();   

  alert(start);

  //start.setDate(start.getDate()-1); //设置日期对象中的“日”,为当前日-1

  bdate.setDate(bdate.getDate()-1); //设置日期对象中的“日”,为当前日-1

  alert(bdate);  

  this.options.form.getWidgetByName("a").setValue(bdate); //赋值给日期控件

image.png

然后就各种报下面的错,除了getDate,还有报setDate的错。

image.png

我觉得是这两个函数的主体不对,new()Date出来的主体就可以。请问如果想通过setDate来实现返回前一天应该怎么实现,这两个函数的主体应该是什么

yzm102242 发布于 2021-8-6 16:56 (编辑于 2021-8-6 17:23)
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共2回答
最佳回答
0
yyh694452326Lv6初级互助
发布于2021-8-6 17:27

先看下你的日期控件返回值是不是日期类型的,如果不是,那你的 var start = this.options.form.getWidgetByName("a").getValue(); 获取的就是一个字符串,字符串肯定是没有setDate()函数的

image.png

  • yzm102242 yzm102242(提问者) 666,破案了,果然是字符串,差点被这个函数搞到怀疑人生
    2021-08-06 17:40 
最佳回答
0
让过去Lv6中级互助
发布于2021-8-6 17:07(编辑于 2021-8-6 17:10)

定时刷新时间.frm

参考一下吧,显示控件的前一天,就获取控件值,直接调用帆软公式吧,JS太麻烦了

  • yzm102242 yzm102242(提问者) 公式我有通过FORMAT(DATEDELTA(\"XXX\",-1),\"yyyy-MM-dd\")的方式实现了,只是在纠结官方帮助文档的setDate要怎么实现这个功能
    2021-08-06 17:12 
  • 2关注人数
  • 671浏览人数
  • 最后回答于:2021-8-6 17:27
    请选择关闭问题的原因
    确定 取消
    返回顶部