如果我的代码丑陋且使用不正确,我先向我们的程序员道歉。我这样做是因为在我工作的地方,其他人都不知道编程。 :)
我创建了一个页面来下载一些证书。用户身份验证后,他将被重定向到证书下载页面。在此刻之前,当用户进行身份验证时,将自动生成证书,但是如果用户确实要生成证书,我想为其单击按钮。
起初看起来像这样:
<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
的“生成证书”按钮。
我该如何解决?
答案 0 :(得分:0)
在按钮上附加一个双击事件
<p ondblclick="downloadCA(id)">Download da CA</p>
id
就是您要在网址的fid查询字符串中出现的任何内容。
然后将此js代码放入脚本中
function downloadCA(id){
window.location.href = 'download.php?fid=' + id;
}
答案 1 :(得分:0)
首次加载页面时,由于以下情况,您的gen_cert div未加载到dom中:
if($_SERVER['REQUEST_METHOD'] == "POST" and isset($_POST['gen_cert'])
您可以删除onclick事件并在gen_cert div上不显示:
或者,如果您想使用jquery显示/隐藏div,则无需提交表单。您可以将输入类型更改为提交到按钮,删除表单“ my_form”并删除条件
if($_SERVER['REQUEST_METHOD'] == "POST" and isset($_POST['gen_cert'])