首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >javascript:需要按两次按钮才能触发onclick

javascript:需要按两次按钮才能触发onclick
EN

Stack Overflow用户
提问于 2018-08-28 01:31:07
回答 2查看 721关注 0票数 2

在此之前,如果我的代码很难看,并且没有处于正确的模式中,我会向我们世界的程序员道歉。我这么做,是因为在我工作的地方,没有其他人知道编程。:)

我创建了一个页面来下载一些证书。用户身份验证后,将重定向到证书下载页。直到此时,当用户进行身份验证时,证书才会自动生成,但我想在此放置一个按钮,供用户单击,如果他们真的想生成证书。

一开始看起来是这样的:

代码语言:javascript
复制
<div class="form">
        <p><strong><span>Usuário: <?= $_SESSION['user'] ?></span></strong></p>
        <form action="protected.php" id="my_form" method="post">
                <input type="submit" name="gen_cert" value="Gerar certificados" onclick="switcher('gen_cert');this.disabled=true;" />
        </form>
        <?php if($_SERVER['REQUEST_METHOD'] == "POST" and isset($_POST['gen_cert'])) { ?>
                        <?php require("cert_generate.php"); ?>
                        <div id="gen_cert" style="display:none">
                        <p><a href="download.php?fid=<?= $_SESSION['user'].".p12" ?>" class="button" >Download do certificado pessoal</a></p>
                        <p><a href="download.php?fid=ca.crt" class="button" >Download da CA</a></p>
                        </div>
        <?php } ?>
</div>

是的,我在php里面有html标签。起初,这是我想出"cert_generate.php" check by "if($_SERVER['REQUEST_METHOD'] == "POST"isset($_POST['gen_cert']))"的唯一方法。

更新

脚本

代码语言:javascript
复制
   function switcher() {
        var x = document.getElementById("generator");
        if (x.style.display === "none") {
                x.style.display = "block";
        } else {
                x.style.display = "none";
        }
}

我的问题是,我需要按两次“生成证书”按钮,显示包含内容的div

我怎么才能解决这个问题?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-08-28 01:54:35

当您第一次加载页面时,您的gen_cert div不会加载在dom中,因为以下条件:if($_SERVER['REQUEST_METHOD'] == "POST" and isset($_POST['gen_cert'])

您可以删除onclick事件并在gen_cert div上显示:none。

或者,如果要使用jquery显示/隐藏div,则不需要表单submit。您可以将输入类型更改为submit按钮,删除表单'my_form‘并删除条件if($_SERVER['REQUEST_METHOD'] == "POST" and isset($_POST['gen_cert'])

票数 0
EN

Stack Overflow用户

发布于 2018-08-28 01:36:57

在按钮上附加双击事件

代码语言:javascript
复制
<p ondblclick="downloadCA(id)">Download da CA</p>

这里的id是您在url中的fid查询字符串中想要的任何内容。

然后将这些js代码放入脚本中。

代码语言:javascript
复制
function downloadCA(id){
   window.location.href = 'download.php?fid=' + id;
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52048903

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档