如何将空行设置为不显示在上传电子邮件中?

时间:2018-03-16 14:05:02

标签: javascript jquery html-email

我正在整理电子存款的电子邮件模板。所有电子邮件都将让学生和客户知道已经向他们发送了电子付款并显示了这些项目。信息应如下所示:

Date | Invoice# | Description | Amount 12/20/2019 | 01 | Refund | $33 | 02 | Refund | $44

(由于日期是存款日期,所有列出的发票都是相同的。)

最多可以有30个这样的潜在行,每个发票号一个。但问题是,并非所有这些行都有值。

因此,对于正在接收九张发票(九行)付款的学生或客户,我们不想显示剩余的二十一个空行。

那么,问题是我们如何隐藏这些剩余的空行?由于这将是一个电子邮件模板,我不知道JavaScript或jQuery是否可行,因为从我所阅读的内容出发,出于安全原因,它们会被电子邮件系统阻止。

我想我也可以尝试将它从HTML转换为.NET,看看我是否可以使用中继器,但我不知道这是否也可以。

如果信息可以有任何用处,则此电子邮件使用T-SQL查询获取信息。我想我可以修改它只是不返回NULL结果,但这仍然留下了前端端空行的问题......

任何帮助或见解将不胜感激。我将发布以下目前已阅读的资源的网址。 :)

谢谢!

资源:

更新 - 3/19/2018

以下是我正在使用的功能:

<script>
$(function(){
 $('.row').each(function(){
   if($(this).val().trim()=='')
     $(this).hide();
 })
});
</script>

由于HTML文件很长,我不知道我应该将整个内容发布到内联。下面是表格中前三行的HTML:

<table class="w580" border="0" cellpadding="0" cellspacing="0" width="580">
    <tbody><tr>
        <td class="w580" width="580">
            <div class="article-content" align="left">
                <multiline label="Description">

                <p style="text-align: center; color: #e54a3d; font-size: larger;">
                <strong>
                Accounts Receivable Hold Notice
                </strong></p>

                <hr style="margin: 0 0 1.625em;"/>

                    <p>Dear firstname,</p>                                          

                    <p></p>

                    <p>If you have any questions, you may call the Office of Student Financial Services at 573.592.1793</p>

                    <p>Have a great day!</p>

                    <p><strong>Check Date:</strong> checkdate</p>

                    <table width="580" border="1">
                        <thead>
                            <tr>
                                <th width="145" >Invoice</th>
                                <th width="145" >Description</th>
                                <th width="145" >Amount</th>
                            </tr>
                        </thead>
                        <tbody>                                                 
                            <tr class="row">
                                <td>
                                    @@invoicenum1@@
                                </td>
                                <td>
                                    @@desc1@@
                                </td>
                                <td>
                                    @@amount1@@
                                </td>
                            </tr>
                            <tr class="row">
                                <td>
                                    @@invoicenum2@@
                                </td>
                                <td>
                                    @@desc2@@
                                </td>
                                <td>
                                    @@amount2@@
                                </td>
                            </tr>
                            <tr class="row">
                                <td>
                                    @@invoicenum3@@
                                </td>
                                <td>
                                    @@desc3@@
                                </td>
                                <td>
                                    @@amount3@@
                                </td>
                            </tr>

所有被@@ s包围的项目(例如@@ invoicenum1 @@)都是&#34;潜在价值&#34;由数据库的结果填充。

因此,从理论上讲,如果数据库中的字段为NULL,则不会在那里放置任何内容。然后,头部的jQuery将看到没有任何东西,只是隐藏行。

我担心的是,如果JavaScript和jQuery被电子邮件客户端阻止,则此功能将无法执行。

更新 - 3/21/2018

我已经确认jQuery不会工作。我通过内联样式获得了所需的视觉效果 - 只需设置&#34; border:none;&#34;在各个行和单元格上。这样,如果它是空的,它就不会显示......

这适用于我们,因为我们设置了最大潜在行数(30)。

如果我们想要建立一个系统,但行数是由返回的实际结果数决定的,那么我们怎么可能这样做呢?

或者像亚马逊这样的大公司在向您发送订单详细信息时,还会显示一定数量的商品吗?也许他们只是向您展示五六件物品并告诉您&#34;要查看您的完整订单,请访问订单页面&#34;或其他...

0 个答案:

没有答案