根据下拉选择发送电子邮件

时间:2012-09-02 10:10:24

标签: php html forms

我在表格中列出了三个选项值。 '已批准''待定'和'已拒登'。当用户选择一个选项时,我希望将不同的电子邮件发送给该人。我在同一行(下拉框旁边)有另一个字段名称“电子邮件地址”。我以为我可以捕获单元格中的特定电子邮件地址,并根据选择发送电子邮件。这是通过对每个选项值使用If else语句,然后将特定mailto发送到表中的电子邮件地址来实现的吗?或者更好的是有一个提交按钮,一旦选择了选项就发送电子邮件?

2 个答案:

答案 0 :(得分: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>

一旦值发生变化,即可发送电子邮件。此外,我没有指定默认值,因为如果您有默认选择,那么该值将不会有“更改”事件,并且除非他点击其他值,否则用户将无法触发电子邮件首先然后改回(从而触发两封电子邮件)。

如果您想要提交按钮:

<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>

就是这样!

答案 1 :(得分:1)

我会推荐一个提交按钮。
如果用户选择了错误的选项怎么办?然后你会发两封电子邮件!

此外,如果您没有提交按钮,则必须调用AJAX请求才能与PHP通信。