2

ここに記載されているように、html ページを使用して Google スクリプトでフォームを作成し、JavaScript 関数を呼び出します。アプリを実行すると、フォームは正常に読み込まれますが、スクリプトは実行されません。どうすればこれを機能させることができますか?

これが私がやろうとしていることの例です:

<html>
  <!--Create Sign Out Form-->
  <form id="signOut">

    <div>
      Destination: 
      <select name="destination">
        <option value="lunch">Lunch</option>
        <option value="meeting">Client Meeting</option>
        <option value="vacation">Vacation</option>
        <option value="sick">Out Sick</option>
        <option value="personal">Personal</option>
        <option value="home">Working from Home</option>
        <option value="scedule">Reduced Schedule</option>
      </select>
    </div>

    <div>
      Supervisor: 
      <select name="supervisor" onselect="google.script.run.withUserObject(this.parentNode).populate(destination)"></select>
    </div>

    <div>
      Start Date: 
      <input type="date" name="startDate" onselect="google.script.run.withUserObject(this.parentNode).SignOutLibrary.dateSelect()"/>
    </div>

    <div>
      End Date: 
      <input type="date" name="endDate" onselect="google.script.run.withUserObject(this.parentNode).SignOutLibrary.dateSelect()"/>
    </div>

    <div>
      Details: 
      <textarea type="text" name="details" style="width: 150px; height: 75px;"></textarea>
    </div>

    <div>
      <input type="button" value="Submit"
        onclick="google.script.run
             .sendRequest(this.parentNode)"/>
    </div>
  </form>
</html>

そして、それが呼び出す必要があるスクリプト:

function doGet() {
  // Uses html form
  return HtmlService.createHtmlOutputFromFile('request_form');
}

サインアウト ライブラリ:

function dateSelect() {
  var app = UiApp.createApplication();
  var handler = app.createServerHandler("change");
  var date = app.createDatePicker().setPixelSize(150, 150).addValueChangeHandler(handler).setId("date");
  app.add(date);
  return app;
}

function change(eventInfo) {
  var app = UiApp.getActiveApplication();
  app.add(eventInfo.parameter.date);
  return app;
}
4

2 に答える 2

0

コード内のすべての this.parentNode を this.form で変更してみてください

すぐにドキュメントを調べたところ、うまくいくかもしれませんが、申し訳ありませんが、今は答えをテストできません

于 2013-07-04T13:57:57.337 に答える