[英]document.getElementById().value and document.getElementById().checked not working for IE
[英]document.getElementById().value is not Working
我一直在做一個關於員工的項目所以 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 並分別為它們提供了name
和id
屬性的values
。 還有帶有 function 的onclick
事件。
echo "<script>
function edit(){
let data_id = document.getElementById('btn-edit');
console.log(data_id.value);
}
</script>";
但是每次我在控制台中都不undefined
。 那么我的代碼有什么問題。 請幫我。! 請。
為了獲得值,您可以將 js 代碼更改為:
function edit(){
console.log(event.target.value)
}
通過單擊它,瀏覽器會創建事件,您可以將其作為目標來獲取點擊值。
此外,您在 value value=".$row['id']." 周圍缺少“'”。 請記住,您不應該在頁面上多次出現相同的 id,因此如果您有多個具有此 id 的元素,定位 btn-edit 將永遠無法工作。
您不應該為按鈕使用“”標簽
將元素中的“值”更改為
data-value
更改 javascript 行 'console.log(data_id.value);' 至
console.log(data_id.dataset.value);
有關使用 js 數據集的更多信息,請訪問https://developer.mozilla.org/en-US/docs/Learn/HTML/Howto/Use_data_attributes
此外, <i>
元素不包含value
屬性。
1.你不能給標簽<i>
添加值和名稱,你應該使用輸入標簽,2.如果你使用這個,我希望你沒有任何問題;
<label class='far fa-edit btnedit' onclick='edit()' style='color: green; cursor: pointer;font-size: 25px;'>
<input type='hidden' id='btn-edit' name='btn_edit' value='".$row['id']."'/>
</label>
<script>
function edit(){
let data_id = document.getElementById('btn-edit');
console.log(data_id.value);
}
</script>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.