我收到了这个错误。我无法找到它的错误。我正在使用PHP和javascript。
我的代码下方有一个隐藏的iframe:
button
我有这行代码,一行操作按钮,其中<iframe id="hidden_form_submitter" name="hidden_form_submitter" style="width:100%;height:1px;visibility:hidden"></iframe>
行将作为URL参数发送:
id
然后我最后在顶部有这个代码来更新我的数据库中的行:
<tr bgcolor="#d1ffcf" class="row-<?=$transaction['id']?>">
<td>
<a class="done-btn" data-confirm="Are you sure?" href="?action=change&status=done&transact_id=<?=$transaction['id']?>" target='hidden_form_submitter' title="Click if matched!"> Done</a>
</td>
</tr>
我的服务器更新方面没问题。 问题是JavaScript我想在不重新加载整个页面的情况下更改所有相同类的bgcolor。
更新:无法更改每个班级的背景。例如,我有这个参数要发送。 <?
if($_GET['action'] == 'change'){
//update query here
echo "<script>window.parent.document.getElementsByClassName('row-{$get['id']}').style.backgroundColor='green';</script>";
exit;
}
?>
因此,具有类?action=change&status=done&transact_id=1608
的所有元素都应该更改背景颜色或更改样式。
答案 0 :(得分:1)
尝试更改此内容:
echo "<script>window.parent.document.getElementsByClassName('row-{$get['id']}').style.backgroundColor='green';'</script>";
对此:
echo "<script>";
echo "var allRows = window.parent.document.getElementsByClassName('row-{$get['id']}');";
echo "for (var i = 0; i < allRows.length; i++) {";
echo " allRows[i].style.backgroundColor = 'green';";
echo "}";
echo "</script>";
您需要迭代allRows
并在每个元素上设置backgroundColor
。
(灵感来自example)