2012-05-05 9 views
2

最近Googleフォームを送信するGoogle Apps Scriptを作成しました。フォームに取り込まれた情報は自動的に承認マネージャーにHTML形式で電子メールで送信されます。GmailのHTMLボタンに機能を追加する方法

メールに2つのボタン(「承認」と「拒否」)を追加することで、ワークフローを追加しようとしました。しかし、私はこれらのボタンに機能を付けることができません(例えば、送信ボタンは電子メールをXに転送するなど)。

誰もが私に助けてくれるのであれば、私は感謝します - 私はオンラインソリューションを見つける/理解することができませんでしたし、私はこれで頭がおかしくなるかもしれないことを恐れています。以下は私のコードです:あなたは、単にしかし、HTML本体にフォームを使用し

 function notfiy(e) { 


    var username = e.values[1].toString(); 
    var requestfor = e.values[2].toString(); 
    var location =e.values[3].toString(); 
    var department = e.values[4].toString(); 
    var phonenumb = e.values[5].toString(); 
    var extension = e.values[6].toString(); 
    var approver = e.values[7].toString(); 
    var computer = e.values[8].toString(); 
    var monitor = e.values[10].toString(); 
    var accessories = e.values[12].toString(); 

    var html = 
    '<body>' + 
    +'<h2>'+ username + ' has submitted a request to purchase equipment for ' + requestfor + ' </h2>' + '<br>' + '<br>' + 
    'Location: ' + location + 
    '<br> Department: ' + department + 
    '<br> Phone Number: ' + phonenumb + 
    '<br> Extension: ' + extension + 
    '<br> <br> The following materials have been requested for purchase: ' + 
    '<br> <br> Software: ' + 
    '<br> Computer: ' + computer + 
    '<br> Monitor: ' + monitor + 
    '<br> Computer Accessories: ' + accessories + '<br> <br> The ship to location for said materials is :' + '<br> <br> <br> <br>' + 

    '<input type="submit" value="Approve" />' + '<br>'+ 
    '<input type="submit" value="Deny" />' + 
    '</body>'; 

    MailApp.sendEmail(approver, "Equipment Request: " + username, 'No html body);', {htmlBody: html}); 


} 

答えて

1

私はこれを成し遂げる方法についてのビデオチュートリアルを追加しました: https://sites.google.com/site/scriptsexamples/home/announcements/emailapprovalusinggooglescriptandaform

+0

ジェームズは、応答のためにあなたをとても感謝しています。私は1つのフォローアップの質問があります - 私の状況では、 "承認"ボタンはサードパーティ(実際に機器の注文をしている人)に電子メールを送る必要があります。私はマネージャーがそれを承認した後、フォームから集められた情報を電子メールで送る必要があります。最初のイベント(機器、場所など)から第三者に送信される電子メールのHTMLに変数を渡す必要はありますか? –

+0

すべてのフォームフィールドを&fieldName = Valueとformatとして追加して、リクエスタに送信します。 –

0

が、私はあなたが1つの承認を行い、いくつかの奇妙な行動があった、それが正常に動作しますが、次の1のGmailにあなたはすでにそれを送ったと考えていますダイアログをもう一度開かないでください。

私がしてきたことは、ボタンのように見せることができる標準的なリンク(アンカー)を使用することでした。これらは、公開されたUiAppページに移動します。ここでは、選択肢がURLの最後に追加されます。承認=真。

これがそうe.parameterに渡されます。

doGet(e){ 
var approve = e.parameter.approve; 
//do something with the info. 
} 

あなたはこのチュートリアルでは、この動作のいくつか見ることができます: http://googlescriptexamples.com/ticketsをし、Googleスクリプトブックのワークフローの章では、このように動作します。

関連する問題