在此之前,如果我的代码很难看,并且没有处于正确的模式中,我会向我们世界的程序员道歉。我这么做,是因为在我工作的地方,没有其他人知道编程。:)
我创建了一个页面来下载一些证书。用户身份验证后,将重定向到证书下载页。直到此时,当用户进行身份验证时,证书才会自动生成,但我想在此放置一个按钮,供用户单击,如果他们真的想生成证书。
一开始看起来是这样的:
<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']))"的唯一方法。
更新
脚本
function switcher() {
var x = document.getElementById("generator");
if (x.style.display === "none") {
x.style.display = "block";
} else {
x.style.display = "none";
}
}我的问题是,我需要按两次“生成证书”按钮,显示包含内容的div。
我怎么才能解决这个问题?
发布于 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'])
发布于 2018-08-28 01:36:57
在按钮上附加双击事件
<p ondblclick="downloadCA(id)">Download da CA</p>这里的id是您在url中的fid查询字符串中想要的任何内容。
然后将这些js代码放入脚本中。
function downloadCA(id){
window.location.href = 'download.php?fid=' + id;
}https://stackoverflow.com/questions/52048903
复制相似问题