【发布时间】:2020-11-19 13:32:42
【问题描述】:
我一直在做一个关于员工的项目 所以mysql数据库中有一些数据。所以为了得到它并将它放入一个 html 表中,我使用了 php。
$sql = "SELECT * FROM Stock_Management.`staff_details`";
$result = mysqli_query($conn, $sql);
if(mysqli_num_rows($result)){
while($row = mysqli_fetch_assoc($result)){
echo "<tr>
<td scope='row'>".$row['id']."</td>
<td>".$row['fname']."</td>
<td>".$row['lname']."</td>
<td>".$row['phno']."</td>
<td>".$row['employee_address']."</td>
<td>".$row['join_date']."</td>
<td><i class='far fa-edit btnedit' value=".$row['id']." name='btn-edit' id='btn-edit' onclick='edit()' style='color: green; cursor: pointer'></i></td>
<td><i class='far fa-trash-alt btndelete' value='".$row['id']."' name='btn-delete' id='btn-delete' onclick='delete()' style='color: tomato; cursor: pointer'></i></td>
</tr>";
}
}
因此,如果您看到最后两个 td 标签,您会看到我使用了 font awesome 并分别给它们 values 和 name 和 id 属性。还有onclick 带有函数的事件。
echo "<script>
function edit(){
let data_id = document.getElementById('btn-edit');
console.log(data_id.value);
}
</script>";
但每次我在控制台中获取undefined。那么我的代码有什么问题。请帮我!!请。
【问题讨论】:
-
前面的属性
'".$row['id']."'需要加引号 -
btn-edit是一个<i>元素。那些没有value属性。 -
@NigelRen 不,兄弟,它不起作用'.....顺便说一句,感谢您的尝试。
-
按照您的逻辑,您将重复
id,这是不行的。将function edit(){更改为function edit(element){并使用onclick='edit(this)'传递它。然后,您将不必寻找它。要获得value,您可以致电element.getAttribute('value')。 -
您可以在元素上使用
.getAttribute('value')。但data attributes 在这种情况下可能更合适。
标签: javascript php html mysql