Показать сообщение отдельно
  #2 (permalink)  
Старый 05.12.2014, 08:13
Профессор
Отправить личное сообщение для jsnb Посмотреть профиль Найти все сообщения от jsnb
 
Регистрация: 15.03.2014
Сообщений: 561

В функции doGet добавляешь нужные компоненты, как-то так:
function doGet() {
  var app = UiApp.createApplication();

  app.add(app.createHTML("Page title:<br>"));
  var textBox = app.createTextBox().setId('pageTitle').setName('pageTitle');
  app.add(textBox);
  
  app.add(app.createHTML("<br>HTML:<br>"));
  
  var textArea = app.createTextArea().setId('htmlText').setName('htmlText');
  app.add(textArea);
  
  app.add(app.createHTML("<br>"));
  
  var button = app.createButton('Create page');
  app.add(button);
  
  var label = app.createLabel('The button was clicked.')
                 .setId('statusLabel')
                 .setVisible(false);
  app.add(label);

  var handler = app.createServerHandler('myClickHandler');
  handler.addCallbackElement(label);
  handler.addCallbackElement(textBox);
  handler.addCallbackElement(textArea);
  button.addClickHandler(handler);

  return app;
}


В функции обработчике клика считываешь данные с полей:
function myClickHandler(e) {
  var app = UiApp.getActiveApplication();

  var pageTitle = e.parameter.pageTitle;
  var html = e.parameter.htmlText;
  
  createDemoPage(pageTitle, html);
  
  var label = app.getElementById('statusLabel');
  label.setText('new page created');
  label.setVisible(true);
  
  app.close();
  return app;
}


Ну и переписываешь функцию создания страницы, чтобы она принимала нужные параметры:
function createDemoPage(pageTitle, html) {
  var site = SitesApp.getSiteByUrl("https://sites.google.com/site/имя_сайта/");
  site.createWebPage(pageTitle, (Math.random()+'').split('.')[1]+'', html);
};

Последний раз редактировалось jsnb, 05.12.2014 в 08:23.
Ответить с цитированием