我们有基于php + mysql的html站点。在页面上,有表(4行和1列),其中包含有关用户的信息。每个表格单元格都有用户名和相应的按钮。使用SELECT语句填充到表的用户名。
$q = "select usr.user_id, usr.nickname from users usr";
$r = mysqli_query ($dbc, $q) or trigger_error("Query: $q\n<br />MySQL Error: " . mysqli_error($dbc));
然后将信息get填入表格
echo "<table border cellpadding=1>";
while ($row = mysqli_fetch_array($r, MYSQLI_ASSOC)){
echo "<tr>";
echo "<td>" . $row['nickname'] . "</td> <form name ='form_type' method ='GET'><input type = 'button' name = " . $row['user_id'] . " value = 'ButtonValue' id = 'ButtonId' onclick='processFormData();'></form></td>";
}
echo "</table>";
获取ButtonName的Javascript
<script type="text/javascript">
function processFormData() {
var name_element = document.getElementById('ButtonId');
alert(name_element.name);
}
警报正在用于测试。 我的目标是在点击按钮时获取user_id值。目前我正在为所有按钮获得相同的user_id(首先找到)。
答案 0 :(得分:2)
试试这个:
echo "<td>" . $row['nickname'] . "</td> <form name ='form_type' method ='GET'><input type = 'button' name = " . $row['user_id'] . " value = 'ButtonValue' id = 'ButtonId' onclick='processFormData(this);'></form></td>";
而且:
function processFormData(name_element) {
alert(name_element.name);
}
答案 1 :(得分:1)
您必须将User ID
传递给JavaScript
这样的功能,
<input type = 'button' name = " . $row['user_id'] . " value = 'ButtonValue' id = 'ButtonId' onclick='processFormData('<?php echo $row['user_id']; ?>');'>
在Script
中,您必须更改此功能链接
<script type="text/javascript">
function processFormData(uid) {
alert(uid);
}
</script>
答案 2 :(得分:0)
ButtonID
的ID在每个按钮上。这意味着它们都不是唯一的。因此,您的脚本开始查找,并且每次都提供相同的脚本。
您可以切换name
和id
属性(您需要一些文字,因此ID不仅仅是一个数字,这是不允许的):
<input type='button' id='btn".$row['user_id']."' value='ButtonValue' name='ButtonId' onclick='processFormData();'>
然后提醒(新的,唯一的)ID:
alert(name_element.id);
但是现在,由于您的ID已更改,您的Javascript代码将不再找到ButtonId
。因此,您需要将按钮对象直接传递给Javascript。它看起来像这样:
HTML
<input type='button' id='btn".$row['user_id']."' value='ButtonValue' onclick='processFormData(this);'>
JS
function processFormData(element) {
alert(element.id);
}