如何使用当前日期预填充createDateBox()或日期选择器字段?

时间:2012-08-13 23:13:11

标签: google-apps-script

我在Google协作平台页面上创建了一个带有日期字段(日期选择器)的Ui。有没有办法用当前日期预先填充它?其次,是否有一种方法可以将年份与选择日期隔离开来?这是我到目前为止的代码:

    //Create elements for vPanel_01
    var labelDate = app.createLabel("Date of event:");
    var textBoxDate = app.createDateBox().setName("date").setStyleAttribute("color", "#a7a7a7");

我想将年份与输入区分开来,以便我可以在脚本中进行比较。

2 个答案:

答案 0 :(得分:1)

  

有没有办法用当前日期预先填充它?

以下代码执行所需。

var now = new Date();
var labelDate = app.createLabel("Date of event:");
var textBoxDate = app.createDateBox().setName("date").setStyleAttribute("color", "#a7a7a7").setValue(now);
  

有没有办法将年份与挑选日期隔离开来?

请通过撰写isolating the year from the date picked来解释您的期望?你需要提取一年的约会吗?如果是,则执行以下操作。

function doGet(e) {
  var app = UiApp.createApplication();
  var now = new Date();
  app.add(app.createLabel('Current Year: ' + now.getFullYear()));
  return app;
}

从日期框中提取年份的代码。

function doGet(e) {
  var app = UiApp.createApplication();
  var now = new Date();
  var dateBox = app.createDateBox().setName('datebox').setValue(now);
  var label = app.createLabel(now).setId('label');
  var handler = app.createServerHandler('onBtnClick');
  handler.addCallbackElement(dateBox);
  var btn = app.createButton('Click Me').addClickHandler(handler);
  app.add(dateBox);
  app.add(label);
  app.add(btn);
  return app;
}

function onBtnClick(e) {
  var selectedDate = new Date(e.parameter.datebox);
  var year = selectedDate.getFullYear();
  var app = UiApp.getActiveApplication();
  var label = app.getElementById('label');
  label.setText('Selected Date: ' + selectedDate + ', Year: ' + year);
  return app;
}

答案 1 :(得分:0)

在您的评论之后:如果我保留兆字节1024的示例,您应该在textBox(或按钮帽验证输入)和此处理程序的callBackElement中添加处理程序,然后在处理函数中,您可以使用以下内容:

var dateObject = new Date(e.parameter.date); // 'date' is the name of the datepicker

当你拥有这个日期对象时,你可以从中获得任何你想要的东西,例如:

var fullyear = dateObject.getFullYear(); // will return full year in 4 digits

see doc on date object

你也可能对in this example感兴趣。