【问题标题】:Hide button if mailto: is empty如果 mailto: 为空,则隐藏按钮
【发布时间】:2020-11-06 09:58:14
【问题描述】:

我有一个用户列表,如果他们有电子邮件,他们可以单击按钮发送电子邮件。问题是,如果用户没有电子邮件,我需要隐藏 EMAIL 按钮。

这是我所拥有的:

<form action='/' method='get'>
<a href='mailto:<?=$user['email']?>'><button type="button" class="btn btn-dark btn-sm"><span>Email</span></button></a>
</form>

这是我尝试过但没有奏效的方法:

<a href='mailto:<?=$user['email']?>'><button id="sendmail" type="button" class="btn btn-dark btn-sm" onload="hideButton()"><span>Email</span></button></a>

<script type="text/javascript">
$(function(){
    function hideButton(){
        if(email === "mailto:"){
            $("#sendmail").show();
        }
        else {
            $("#sendmail").hide();
        }
    }
});
</script> 

我不知道如何解决它。我用谷歌搜索了这个,但是当我上传到网站时,大多数答案都会给我一个错误 500

【问题讨论】:

  • =$user['email']?> 这是什么语法?您是否使用 PHP 模板引擎进行 HTML 渲染?
  • @Toxnyc - &lt;?= ... ?&gt;&lt;?php echo ... ;?&gt; 的简短语法
  • @waterloomatt 看起来很干净,你有文档的链接吗?
  • 您的问题不清楚,缺乏细节/代码以及值的来源是什么。你也得到了答案。如果它解决了您的问题,请考虑接受它。这会将您的问题标记为已解决。
  • @Toxnyc - 见php.net/manual/en/…。请注意 short echo tag (this) 和 short open tag 之间的区别,应该避免并且可能在未来的 PHP 版本中完全删除。

标签: javascript php forms email html-email


【解决方案1】:

您可以直接在 PHP 中执行此操作,只需将其包装为 if 语句。

<?php

if (isset($user['email']) && trim($user['email']) !== '') {
    echo '<a href="mailto:' . $user['email'] . '">Send email</a>';
}

【讨论】:

  • 我还应该指出,如果您的电子邮件链接只是一个链接,则不需要将其包装在表单中。表单仅用于提交表单输入,例如文本框、单选按钮等。我看到您在链接中包装了一个按钮,但这有点多余。只需使用链接本身。
  • 开启错误、报告功能,然后使用适当的详细信息编辑您的问题stackoverflow.com/a/21429652/296555
猜你喜欢
  • 2016-03-06
  • 1970-01-01
  • 1970-01-01
  • 2020-03-06
  • 1970-01-01
  • 2021-11-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多