0

我解决了这个脚本: https ://developers.google.com/apps-script/articles/helpdesk_tutorial?hl=it

在这个代码部分。

 var textApptDate = app.createTextBox();
    // Text entered in the text box is passed in to apptDate
  textApptDate.setName('apptDate');
  var day = new Date();
  day.setDate(day.getDate()+1);
  textApptDate.setText(Utilities.formatDate(day, "PDT", "MM/dd/yyyy"));
  grid.setWidget(0, 0, app.createLabel('Appointment Date:'));
  grid.setWidget(0, 1, textApptDate);

我更改了插入 DatePicker 的代码

 var day = new Date();
   day.setDate(day.getDate()+1); 
   var textApptDate = app.createDateBox().setName('apptDate').setValue(day);
 var handler = app.createServerHandler('change');
   handler.addCallbackElement(textApptDate).;

DataPicker 工作正常,但脚本不能正常工作。

错误在哪里?

谢谢你帮助我。

拉斐尔

4

1 回答 1

0

在原始脚本中,处理函数 ( var apptDate = e.parameter.apptDate; ) 中的日期值是一个字符串。代码中的操作将该字符串转换为日期对象。

当您用 dateBox 替换小部件时var appDate,处理程序中的值不再是字符串,它已经是一个日期对象。因此,以下字符串操作将不起作用。

你有两种可能性:

  1. 将此日期对象转换为字符串并保持代码原样(但在我看来这有点愚蠢,因为它是一种“撤消/重做”)
  2. 考虑到这种差异,并使用日期对象作为起始值直接进入小时设置(这将更加高效和“优雅”)。
于 2013-07-21T21:25:22.970 回答