2 回答
TA贡献1843条经验 获得超7个赞
您可以添加AddToZip.php的代码吗?
您可以将所有id存储到会话值中,并检查fetch.php上的此数组中是否包含该 id 。
AddToZip.php:
session_start();
if (!isset($_SESSION['added_to_zip_ids']))
$_SESSION['added_to_zip_ids'] = [];
if (array_search($_GET['id'], $_SESSION['added_to_zip_ids']) === false)
$_SESSION['added_to_zip_ids'][] = $_GET['id'];
获取.php:
<?php
...
session_start();
if (!isset($_SESSION['added_to_zip_ids']))
$_SESSION['added_to_zip_ids'] = [];
if(mysqli_num_rows($result) > 0)
{
$output .= '<h4 align = "center">Search Result</h4>';
$output .= '<div class="table-responsive">
<table class = "table table bordered">
<tr>
<th>ID</th>
</tr>';
while($row = mysqli_fetch_array($result))
{
$output .= '
<tr>
<td>'.$row["ID"].'</td>
<td><button '.(array_search($row["ID"], $_SESSION['added_to_zip_ids']) === false ? '' : 'disabled').' type="button" class="btn btn-primary" onclick="addToZip(\''.$row["ID"].'\', this)"><i class="fa fa-pdf" aria-hidden="true"> </i>Add to Zip</button></td>
</tr>
';
}
echo $output;
}
...
?>
要清除存储的值,您有两种解决方案:
保留其他会话数据
会话开始();
if (isset($_SESSION['added_to_zip_ids']))
unset($_SESSION['added_to_zip_ids']);清除一切
会话开始();
session_unset();
这些行可以位于服务器上的任何位置。
TA贡献1798条经验 获得超7个赞
我建议使用事件处理程序“keyup”(就像您已经做的那样)和/或“更改”处理程序来激活功能(例如 check_disable_status)
$('#search_text').keyup(check_disable_status) $('#search_text').change(check_disable_status)
并且您还应该在 DOM 的“就绪”状态下启动此函数。
在此函数中,您只需检查字段的当前“状态”,或者可能是业务逻辑的其他依赖项,并将字段始终设置为“启用”或“禁用”状态。
- 2 回答
- 0 关注
- 84 浏览
添加回答
举报