2012-09-02 34 views
1

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

+1

你已经尝试过,提供一些代码 –

回答

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> 

就是这样!

+0

非常感谢解决方案。我如何从一个已经从数据库填充的表中POST字段?这样我可以处理现场数据,然后发送到一个电子邮件地址。例如:<?php while($ row = mysql_fetch_array($ result)){ echo“​​”; echo $ row ['Orderno'];然后在我的电子邮件正文(表单处理脚本)中使用Orderno,我的表单以

开头,后面跟着表格。谢谢 – m1243

+0

这个答案应该可以工作。 –

+0

@ m1243:听起来像你应该张贴作为一个单独的问题,如果你想一个非常详细的答案。 – JoeLinux

1

我会推荐一个提交按钮。
如果用户选择了错误的选项会怎么样?然后你会发送两封电子邮件!另外,如果你没有提交按钮,你将不得不调用一个AJAX请求来与PHP进行通信。

相关问题