使用多个地址填充电子邮件

时间:2014-08-09 18:19:29

标签: javascript html forms email

我有一个基于数据库中的信息填充的HTML表,并希望在表的底部有一个按钮,当单击该按钮时,会打开一个电子邮件客户端(ala和一个HTML mailto :)并且TO:字段中基于表中某些单元格的多个地址。

我有按钮的HTML。

<input type="button" id="emailAll" value="Email All">

我开始使用这段代码来点击按钮时收集电子邮件地址:

$("emailAll").click(function($){
  var emailCell = 4;
  var length = document.getElementById("orgTable").rows.length;
  var emailArray = [];
  for (i = 0; i < length; i++) {
   emailArray.push(document.getElementById("orgTable").rows[i].cells[emailCell].value);
  }
});

但是,我不确定从哪里开始。 我已经读过在mailto:中有多个电子邮件地址是不好的形式(?),所以我不确定我应该从哪里开始?另外,我甚至不确定我目前使用的代码是否可行(例如,我很确定“emailAll”部分是错误的吗?),所以任何更正都会受到赞赏! =]

另外,如果之前有人询问过,请抱歉。

谢谢!

修改 所以这里有一些细节,因为我现在得到的答案不幸没有用。

这是在wordpress网站上使用,需要从帖子内部调用代码。当我尝试使用我的代码时,会在源代码中添加一堆HTML标记,例如</p>等。这使我相信即使在WordPress编辑器的非可视模式下,格式仍在应用中。我该如何解决这个问题?

还要考虑我不能将脚本放在我的HTML中。

编辑2

好的,所以这是表格的代码。我在一个Formidable Pro(一个Wordpress表格插件)中使用它,所以[数字]对应一个字段。

<div class = "fullWidth">
    <table id = "orgTbl">
    <thead id = "orgheader">
        <tr>
            <th class="orgheadercell" colspan = "5">[get-team]</th> 
        </tr>
        <tr>
            <th> ... </th> 
            <th> ... </th> 
            <th> ... </th> 
            <th> ... </th> 
            <th> Email Address </th> 
        </tr>
    </thead>
    <tbody id="orgbody">
        <tr class = "orgbodyrow">
           <td class="orgbodycell">[249]</td>
           <td class="orgbodycell">[250]</td>
           <td class="orgbodycell">[322]</td>
           <td class="orgbodycell">[336]</td>
           <td class="orgbodycell">[264]</td>
        </tr>
    </tbody>
        <tr>
        <td class="orgheadercell" colspan = "5">
            <form id="getEmails" action="" method="GET">
                <input type="submit" id = "emailAll" value="Email All" />
            </form>
            <script src = "/wp-includes/js/create-email.js" type="text/javascript">
            </script>
        </td> 
        </tr>
     </table>
</div>

所以,你所看到的是一项正在进行中的工作,在它准备好之前仍需要清理一下。但无论如何,正如我所说,[number]字段被替换为其中保存的实际值,并且对于我的数据库中的每个条目重复<tbody></tbody>之间的内容。

另外,我意识到我的脚本已经列出了“orgTable”,但我将其更改为正确的“orgTbl”。另外,我认为value会给我单元格中的值,而且显然是下拉菜单,我将其更改为innerHTML。但是仍然没有运气。

1 个答案:

答案 0 :(得分:1)

将您的按钮放在如下表格中:

 <form action="" method="GET">
        <input type="submit" value="Email All" />
    </form>

对于javascript,onload,请输入:

$("emailAll").click(function($){
  var emailCell = 4;
  var length = document.getElementById("orgTable").rows.length;
  var emailArray = [];
  for (i = 0; i < length; i++) {
   emailArray.push(document.getElementById("orgTable").rows[i].cells[emailCell].value);
  }

  // once you got your array of email properly from your table, try this
   $('form').get(0).setAttribute('action', "mailto:"+emailArray.toString()); 

});

修改:我忘记添加 mailto:,以使操作在href属性中像mailto链接一样。

相关问题