0

NGOのボランティアチームを受け入れるための申請書となるフォームがあります。私がやりたいのは、誰かがフォームに記入したときにレジストラに電子メールを送信するスクリプトを作成することです。それは私が行う方法を知っている簡単な部分です。

その「電子メール通知」に、レジストラが確認できるいくつかの質問からのいくつかの重要な回答を含めたいと思います。これは私も達成する方法を知っています。

これが機能する私の現在のコードです:

function Team_ApplicationMailer(e) {
   var recipient = "myemail@gmail.com";
   var timestamp = e.values[0];
   var name = e.values[3];
   var country = e.values[1]
   var subject = e.values[1]+' wants to Volunteer!' ;
   var startdate = e.values[12];
   var enddate = e.values[13]
   var hyperlink = "mylink.com"
   htmlBody = '<u><strong>'+name+'</u></strong> from: <u><strong>'+country+'</strong></u>just completed the Teams Application Form for these dates: <u><strong>'+startdate+' to '+enddate+'</u></strong><br><br>Form completed on: <u><strong>'+timestamp+'</u></strong><br><br>View the Form: <a href="'+hyperlink+'">Click Here</a>';
MailApp.sendEmail(recipient, subject, htmlBody, {htmlBody:htmlBody});
}

追加したいトリッキーな部分は次のとおりです。e.values[19]とe.values[20]にあるデータも追加したいのですが、これらの値は複数選択(e.values [19])またはチェックボックスのいずれかからのものです。 (e.values [20])と私は、値を単純化する(つまり、一部のテキストを削除する)必要があり、電子メールで送信すると分割される可能性があります。

2つの質問は基本的に同じです。e.values [19]は、「何をしたいのか:1番目の優先順位」であり、いくつかの複数選択オプションがあります。e.values [20]は、いくつかのチェックボックスオプションを備えた「他に何をしたいですか」です。両方の質問には同じ7つの選択肢があり、それぞれの選択肢には長い説明があります(したがって、短くする必要があります)

基本的に、次のような値のe.values[19]が必要です。

optionX :(詳細な説明)

メールで次のように表示されます。

あなたは何をしたいですか:optionX。

「()」のオプションの長い説明を含めたくありません。

e.values [20]の場合、電子メールで値を次のように表示します。

他に何をしたいですか:optionA、optionB、optionC

これの代わりに:

optionA :(詳細説明)、optionB :(詳細説明)、optionC :(詳細説明)

.replace関数と.split関数を調べましたが、特にチェックボックスオプションの場合、これらを連携させる方法がわかりません。

助けてくれてありがとう!

4

1 に答える 1

1

このための関数を書きました。かっこ内のすべてを削除するだけ()です。これはあなたが探しているもののようです。

var s = e.values[19];
s = s.replace(/\([^)]*\)/g,"");

かっこ内にかっこがある場合は、お知らせください。簡単に編集する必要があります。

では、ここで何が起こっているのでしょうか。

  1. を探してい(ます。
  2. 最後にaを一致させながら、できるだけ多くの文字を探し)ます。これは)内部がないです。
    • あなたが)内部を許可したならば、それは一致するでしょうoptionA:(...), optionB: (...), optionC: (...)。これは避けたいので、中には入れません)。それが[^)]意味することです。
  3. フラグは、g「グローバルに」、または文字列内のすべての場所に一致することを意味します。
于 2013-02-18T13:29:16.190 に答える