javascript - 使用 JavaScript 函数更新 HTML 表格数据
问题描述
我有一个 HTML 表,我希望使用一个 JavaScript 函数来更新它,该函数分析另一个页面上提交的 TextArea 标记中的文本。我正在调用我希望使用 TD 的 ID 更新的表格部分,但是在点击时,表格似乎没有使用预期的数据进行更新。我知道该功能是可操作的,因为检查文本的初始表单验证确实有效。这是JS代码:
function textSubmit() {
var headers = document.getElementById("headers").value;
if (headers == "") {
alert("Please submit email headers before proceeding.");
return false;
} else {
var a = document.getElementById("td1");
var answer1 = /Thread-Topic: (.+)/im.exec(headers)[1];
a.innerHTML = answer1;
var b = document.getElementById("td2");
var answer2 = /Date: (.+)/im.exec(headers)[1];
b.innerHTML = answer2;
var c = document.getElementById("td3");
var answer3 = /From: (.+)/im.exec(headers)[1];
c.innerHTML = answer3;
var d = document.getElementById("td4");
var answer4 = /To: (.+)/im.exec(headers)[1];
d.innerHTML = answer4;
var e = document.getElementById("td5");
var answer5 = /X-Ms-Has-Attach: (.+)/im.exec(headers)[1];
e.innerHTML = answer5;
}
}
这是我要更新的 HTML 表:
<table id="myTable">
<tr>
<th>Subject Header</th>
<td id="td1"></td>
</tr>
<tr>
<th>Actual Sender Address or Domain</th>
<td id="td2"></td>
</tr>
<tr>
<th>Sender IP Address</th>
<td id="td3"></td>
</tr>
<tr>
<th>Date/Time</th>
<td id="td4"></td>
</tr>
<tr>
<th>Attachments?</th>
<td id="td5"></td>
</tr>
</table>
关于我可能在哪里出错的任何建议?或者为什么文本没有更新?谢谢。
解决方案
这是你要找的吗?
function textSubmit() {
var headers = document.getElementById("headers").value;
if (headers == "") {
alert("Please submit email headers before proceeding.");
return false;
} else {
var a = document.getElementById("td1");
var answer1 = (/Thread-Topic: ([^\ ]+)/im.exec(headers) ?? [])[1];
a.innerHTML = answer1 ?? '';
var b = document.getElementById("td2");
var answer2 = (/Date: ([^\ ]+)/im.exec(headers) ?? [])[1];
b.innerHTML = answer2 ?? '';
var c = document.getElementById("td3");
var answer3 = (/From: ([^\ ]+)/im.exec(headers) ?? [])[1];
c.innerHTML = answer3 ?? '';
var d = document.getElementById("td4");
var answer4 = (/To: ([^\ ]+)/im.exec(headers) ?? [])[1];
d.innerHTML = answer4 ?? '';
var e = document.getElementById("td5");
var answer5 = (/X-Ms-Has-Attach: ([^\ ]+)/im.exec(headers) ?? [])[1];
e.innerHTML = answer5 ?? '';
}
}
textSubmit()
<input type="text" id="headers" value="Thread-Topic: 44 Date: 22 etc" oninput="textSubmit()"/>
<table id="myTable">
<tr>
<th>Subject Header</th>
<td id="td1"></td>
</tr>
<tr>
<th>Actual Sender Address or Domain</th>
<td id="td2"></td>
</tr>
<tr>
<th>Sender IP Address</th>
<td id="td3"></td>
</tr>
<tr>
<th>Date/Time</th>
<td id="td4"></td>
</tr>
<tr>
<th>Attachments?</th>
<td id="td5"></td>
</tr>
</table>
推荐阅读
- amazon-web-services - 使用 AWS CLI 中的 Refresh Token 不会为 InitiateAuth 函数触发预身份验证触发器
- django - 在 Django 中显示消息而不需要请求
- python - 在 django 中调用 ajax 后会话未更新
- react-native - 想要将 firebase 8.2.10 的版本更改为 7.9.0 但遇到错误
- serialization - 使用对象中的数组进行 Java 序列化
- python - 在 python AzureML 分类问题中删除重复项时出现错误
- mysql - MySQL 触发语法错误更新第二个表的第二个
- c# - 两次读取相同的图像流
- java - 在 Android 11 中写入文件时出错,将变量作为文件名传递
- flutter - Flutter 中的 Riverpode 和 Hooks,如何实现 StateNotifier 进行异步调用?