1

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

4

2 回答 2

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>

就是这样!

于 2012-09-02T10:27:19.323 回答
1

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

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

于 2012-09-02T10:14:56.190 回答