0

我在带有日期字段(日期选择器)的 Google 网站页面上创建了一个 Ui。有没有办法用当前日期预先填充它?其次,有没有办法将年份与选择的日期分开?这是我到目前为止的代码:

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

我想从输入中分离出年份,以便我可以在脚本中进行比较。

4

2 回答 2

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;
}
于 2012-08-13T23:59:29.370 回答
0

根据您的评论:如果我保留兆字节1024 的示例,您应该向文本框添加一个处理程序(或向验证输入的按钮帽添加一个处理程序),并向该处理程序添加一个 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

请参阅有关日期对象的文档

你也可能对这个例子感兴趣。

于 2012-08-14T07:06:11.353 回答