【发布时间】:2018-09-09 23:04:22
【问题描述】:
我有一个显示用户 ID、姓名和电子邮件列表的 html 表。当我的用户点击任何一行时,我会得到该行的 ID 号并发送到我的后端。所以,我这样做了:
//Making the table
var trs = document.getElementsByTagName('tr');
for (var i = 0; i < trs.length; i++) {
trs[i].onclick = clickHandler;
}
处理点击的函数:
function clickHandler(event) {
var numb = this.innerText.match(/\d/g);
numb = numb.join("");
window.location.replace("chooseParticipant.php?id="+numb);
}
表格示例:
<div id="table">
<table>
<thead>
<tr>
<th>ID</th>
<th>Name</th>
<th>E-mail</th>
</tr>
</thead>
<tbody>
<td>7</td>
<td>Test User</td>
<td>testuser123@example.com</td>
</tbody>
</table>
</div>
然后会发生什么?如果用户的电子邮件中有数字,“numb”变量也会获取这些数字。我不知道如何只过滤身份证号码。有人有什么想法吗?
【问题讨论】:
-
如果您添加了一个示例
tr,我们也许可以,只有也许,可以帮助您。 -
我现在做到了。你认为这需要更多信息吗?
-
首先HTML是无效的。那么,为什么要选择整个 tr 而不是只选择你需要的元素呢?
-
如果我只将点击处理程序事件添加到 TD 元素,我的用户将需要点击数字才能触发该功能。我真的需要用户单击该行的任何点。为什么 HTML 无效?我不明白。
-
HTML 无效,因为您的
td周围没有任何tr(在 tbody 中)。
标签: javascript json html-table