フォームのアクション - 完了時(On Success)
解説
レコードが送信されデータベースに保存される時、または、レコードがデータベースから削除される時に、アクションを実行するには、フォームに 完了時(On Success) スクリプトを設定します。
たとえば、フィードバックフォームが送信されるとすぐにチームリーダにメール送信したり、レコードが削除されるときに管理者ユーザにメール送信したりなどのアクションが設定できます。
デフォルトでは、フォームデータの送信完了時に、"Data Added/Edited Successfully" というメッセージが表示されます。
完了メッセージ(success message)文字列で指定することで、この完了メッセージをカスタマイズすることが可能です。
詳細な方法は、 Deluge 文->その他の機能->完了メッセージ(Success Message) をご参照ください。
構文
完了時(On success)のアクションスクリプト - レコードの追加時(On add) : レコードの追加時(On Add)ブロック内に設定された、完了時(on success)アクションスクリプトは、新規レコードがデータベースに追加された時に実行されます。スクリプト実行時には、ユーザはすでにデータベースへデータを供給しています。
on add { on success { // write deluge script to be executed when a new form data is persisted in the database } }
|
完了時(On success)のアクションスクリプト - レコードの編集時(On edit) : レコードの編集時(On Edit)ブロック内に設定された、完了時(on success)のアクションスクリプトは、既存レコードが更新されデータベースに存続した時に実行されます。スクリプト実行時には、ユーザはすでにデータベースにデータを供給しています。
on edit { on success { //write deluge script to be executed when a new form data is persisted in the database } }
|
完了時(On success)のアクションスクリプト - レコードの削除時(On delete) : レコードの削除時(On Delete)ブロック内に設定された、完了時(on success)アクションスクリプトは、既存レコードがデータベースから削除された時に実行されます。スクリプト実行時には、レコードはデータベースから削除されています。
on delete { on success { //write deluge script to be executed when an existing record is deleted from the database } }
|
使用例① - フリー スクリプトを利用する場合
メールの送信(Send Mail) : 下図のフィードバックフォームのサンプルでは、新規フォームデータがデータベースに保存されたときに、メールが送信されます。
application "Feedback Application" { page "Feedback Application Home" { form Send_Feedback { displayname = "Send Feedback"
sender ( displayname = "From" type = email )
mail_subject ( displayname = "Subject" type = text )
category ( displayname = "Category" type = radiobuttons values = {General, Usability, Bug Report, Feature Request} )
comments ( displayname = "Comments" type = textarea ) status ( displayname = "Status" type = picklist values = {Open, Closed, In progress} private = true )
on add { on success { sendmail ( To : input.sender Subject : input.mail_subject Message : input.category+"<br>"+input.comments ) success message "email sent"; }
}
list "Send_Feedback_view" { show all rows from Send_Feedback ( sender mail_subject category comments ) filters ( category ) } } }
|
コードの解説
上記のコードでは、sendmail 関数が、完了時(on success)のフォームアクション内に追加されました。ここでは、
input.<fieldname> - To:、Subject:、Message: の入力を、フォーム内で指定されたフィールド名の値に置き換えます。
使用例② - スクリプトビルダーを利用する場合
詳細な情報は、 Deluge 文->その他の機能 -> 完了メッセージ(Success Message) のページをご参照ください。
関連リンク
フォームのアクション
Deluge 文->その他の機能->完了メッセージ(Success Message)