2016-07-31 1 views
1

申し訳ありませんが、これは愚かな質問です。私は顧客からの注文を収集するためのフォームを持っており、どのくらい私の銀行口座に振り込むかを詳述する電子メール(フォーム提出時)を送付したいと考えています。 e.namedValues ['Number of shirts'] [0]は、私が操作してから.toString()関数を使って電子メール本文に含めることができる整数値ですか? GoogleのフォームからGoogleフォームテキストの回答はすべて文字列に質問されますか?

function onFormSubmit(e) { 
    var name = e.namedValues['Name'][0]; 
    var email = e.namedValues['Email'][0]; 
    var shirts = e.namedValues['Number of Shirts'][0]; 
    var cost = shirts*25; \\$25 per shirt 
    sendEmail_(name,email,shirts,cost); 
} 
+0

こんにちはjh4、私たちに関連するいくつかのコードスニペットを提供していただけますか? – Eugene

+1

変数に代入されるデータの型は 'type of'でテストできます: 'var dollarValue; dollarValue = e.namedValues ['シャツ数]' [0]; (データ型情報)(http://www.w3schools.com/js/js_datatypes.asp) –

+0

@Eugene I 'コードに追加されました。 sendEmail_は、注文されたシャツ数と顧客に対する費用を詳述した電子メールを作成する関数です。 – jh4

答えて

1

提出フィールドは、Numberに設定検証タイプを持っている場合でも、刺されています。

数値演算を行う前に文字列を数値に明示的にキャストする必要があります。あなたが​​またはparseInt()

あなたの改訂版のコードでこれを行うことができます。将来的には

function onFormSubmit(e) { 
    var name = e.namedValues['Name'][0]; 
    var email = e.namedValues['Email'][0]; 
    var shirts = Number(e.namedValues['Number of Shirts'][0]); 
    var cost = shirts*25; \\$25 per shirt 
    sendEmail_(name,email,shirts,cost); 
} 

、あなたは変数の型を決定するためにtypeofを使用してこれをテストすることができます。以下のような:

function onFormSubmit(e) { 
    Logger.log(typeof e.namedValues['Number of Shirts'][0]); 
} 

それはあなたが文字列に番号を付加、または文字列フィールドの数を含めている場合ことに注意することも良いことです。 toString()で文字列にキャストする必要はありません。これは暗黙のうちに実行されます。

+0

ありがとう! 「5つのTシャツを注文していただきありがとうございます」と印刷したい場合は、「注文いただきありがとうございます」+ 5 +「Tシャツ」を使用することができます。 – jh4

関連する問題