我对某些代码有疑问。该程序使我可以一键复制BDDMysql上要求的密码。我有一个脚本,可让我使用特定的ID复制html标签<P>
的内容。所有这些我都放在while(mysqli_fetch_array($result))
中。因此,问题是,当我单击“复制一个密码”时,只有我将第一个bdd复制到剪贴板上。
<?php
$egest='SELECT * FROM gestion';
$result=mysqli_query($con,$egest);
while ($row = mysqli_fetch_array($result)){
//echo $row['subcat_nombre'];
?>
<script>
function copyToClipboard(element) {
var $temp = $("<input>");
$("body").append($temp);
$temp.val($(element).text()).select();
document.execCommand("copy");
$temp.remove();
}
</script>
<table class="estilo-ps">
<tr>
<td colspan="3" class="td-tit"><b><?php echo $row['gest_nombre'] ?></b></td>
</tr>
<tr class="tr-borders">
<th class="th-border-cent">Contrasenya</th>
</tr>
<tr class="tr-borders">
<td class="td-border-cent">
<center>
<p hidden="hidden" id="p1"><?php echo $row['gest_contra']; ?></p><br>
<p>clic per copiar la contrasenya</p>
<img src="img/key.png" class="copy" onclick="copyToClipboard('#p1')"/>
</center>
</td>
</tr>
<?php
}
?>
答案 0 :(得分:1)
您不能有重复的ID。使用类而不是ID。然后使用适当的DOM选择函数在被单击的元素旁边找到具有该类的元素。
此外,将函数带出循环,不需要为每行重新定义它。
<script>
function copyToClipboard(img) {
var $element = $(img).siblings(".p1");
var $temp = $("<input>");
$("body").append($temp);
$temp.val($element.text()).select();
document.execCommand("copy");
$temp.remove();
}
</script>
<?php
$egest='SELECT * FROM gestion';
$result=mysqli_query($con,$egest);
while ($row = mysqli_fetch_array($result)){
//echo $row['subcat_nombre'];
?>
<table class="estilo-ps">
<tr>
<td colspan="3" class="td-tit"><b><?php echo $row['gest_nombre'] ?></b></td>
</tr>
<tr class="tr-borders">
<th class="th-border-cent">Contrasenya</th>
</tr>
<tr class="tr-borders">
<td class="td-border-cent">
<center>
<p hidden="hidden" class="p1"><?php echo $row['gest_contra']; ?></p><br>
<p>clic per copiar la contrasenya</p>
<img src="img/key.png" class="copy" onclick="copyToClipboard(this)"/>
</center>
</td>
</tr>
</table>
<?php
}
?>
答案 1 :(得分:0)
<?php
$egest='SELECT * FROM gestion';
$result=mysqli_query($con,$egest);
?>
<script>
function copyToClipboard(element) {
var $temp = $("<input>");
$("body").append($temp);
$temp.val($(element).text()).select();
document.execCommand("copy");
$temp.remove();
}
</script>
<table class="estilo-ps">
while ($row = mysqli_fetch_array($result)){
//echo $row['subcat_nombre'];
?>
<tr>
<td colspan="3" class="td-tit"><b><?php echo $row['gest_nombre'] ?></b></td>
</tr>
<tr class="tr-borders">
<th class="th-border-cent">Contrasenya</th>
</tr>
<tr class="tr-borders">
<td class="td-border-cent">
<center>
<p hidden="hidden" id="p1"><?php echo $row['gest_contra']; ?></p><br>
<p>clic per copiar la contrasenya</p>
<img src="img/key.png" class="copy" onclick="copyToClipboard('#p1')"/>
</center>
</td>
</tr>
<?php
}
?>
</table>
您正在尝试循环脚本。脚本只能声明一次。
在<table>
之后移动while循环。