表に3つのオプション値のリストがあります。「承認済み」「保留中」および「不承認」。ユーザーがオプションを選択すると、その人に別のメールを送信したいと思います。同じ行(ドロップダウンボックスの横)に別のフィールド名「Eメールアドレス」があります。セル内の特定のメールアドレスをキャプチャして、選択に基づいてメールを送信できると考えていました。これは、オプション値ごとにIf elseステートメントを使用し、特定のmailtoをテーブルの電子メールアドレスに送信することで実現できますか?または、選択肢が選択されたら電子メールを送信する送信ボタンがある方が良いでしょうか?
2 に答える
選択肢が選択されたら、ほとんどの場合、送信ボタンを使用することをお勧めします。これは人々にそれが彼らのために取られる前に彼らの行動について確信する機会を与えます。たとえば、誤って間違ったドロップダウンの選択肢をクリックして、それを変更したい場合があります。ドロップダウンを選択のアクションにし、送信ボタンを電子メールの送信アクションにすることをお勧めします。これにより、ユーザーの混乱も回避されます(ユーザーを混乱させ、アプリケーションを二度と使用したくないことが保証されます)。
ただし、とにかく、ドロップダウン値が選択されているときに電子メールを送信する場合は、JavaScriptで送信する必要があります。これは、フロントエンドコントロールを処理しているためです。このようなアクションを実行することは、選択したHTML要素の一般的な動作ではありません。
簡単でわかりやすいので、AJAXを使用してjQueryでそれを行う方法を紹介します(http://jquery.com)
<script type="text/javascript">
$('#email-dropdown').on('change', function() {
$.ajax({
url: <some_file_that_handles_emailing>,
type: 'post',
dataType: 'json',
data: { 'selected': $(this).val() },
success: function(response) {
alert(response.msg);
}
});
);
</script>
<select id="email-dropdown">
<option value="accepted">Accepted</option>
<option value="pending">Pending</option>
<option value="disapproved">Disapproved</option>
</select>
値が変更されると、メールを送信するために機能します。また、デフォルト値を指定しませんでした。デフォルトの選択がある場合、その値の「変更」イベントは発生せず、ユーザーは別の値をクリックしない限りメールをトリガーできないためです。最初に変更し、次に元に戻しました(したがって、2つの電子メールがトリガーされます)。
代わりに送信ボタンが必要な場合:
<form id="email-form" action="<some_file_that_handles_emailing>">
<select id="email-dropdown" name="email-dropdown">
<option value="accepted">Accepted</option>
<option value="pending">Pending</option>
<option value="disapproved">Disapproved</option>
</select>
<input type="submit" value="Send Email" />
</form>
以上です!
送信ボタンをお勧めします。
ユーザーが間違ったオプションを選択した場合はどうなりますか?次に、2通のメールを送信します。
また、送信ボタンがない場合は、PHPと通信するためにAJAXリクエストを呼び出す必要があります。