0
function onFormSubmit(e) {

  var d = e.values[1] + " 10:00:00 UTC";
  var start = new Date(d);

  // oncatenating the string as above fails?   

// ... form then sends an email and adds date to a Google Calendar

Google スプレッドシートを使用して、そのスプレッドシートから生成された Google フォームの開始、終了、タイトルの値を保存しています。これらの値を Google カレンダーに追加したいと考えています。

問題は、文字列を作成するために連結を使用すると (入力が 2013 年 4 月 4 日を受け入れることができるように)、値を自分自身に電子メールで送信すると、日付が失敗し、「無効な日付」になることです。

これは変かもしれませんが、デバッグを含む電子メールには、値または何かをエスケープしているかのように、前に ' が付いています ...

var emailBody = "Booking enquiry was made on " + timestamp +

  "\n\nThe details they entered were as follows: " +

  "\nFrom: " + start +  " vs original date input : " +  e.values[1] + 

   // etc

Gives: 予約照会は 2013/11/04 17:53:06 に行われました

彼らが入力した詳細は次のとおりです: From: Invalid Date vs original date input: '04/03/2013

見る?'04/03/2013

アップデート

Serge insas の返信は機能しましたが、その後、' が表示されるのは、Google フォームがローカルホストの開発サーバーでホストされている場合のみであることがわかりました。ページがオンラインになると (iFrame を含む)、先頭に ' がないため、部分文字列を削除するトリックは必要ありません。

4

1 に答える 1