我正在编写一个 javascript chrome 扩展,其中包含一个 content_script:
- 读取用户提交的数据
- 在需要时修改用户数据
- 删除用户可能插入的前缀“myprefix:”
- 改为提交修改后的文本。
我已经编写了一些成功更新所需值的代码(我可以看到输入字段值在提交时被更改,就在浏览器离开页面之前)。但是,有时会提交未修改的值(前缀被删除之前的值),并且这种情况会间歇性地发生。
到目前为止我有这段代码:
document.addEventListener('DOMContentLoaded', function () {
onsubmitModifier();
}
function onsubmitModifier() {
for (var i = 0; i < document.forms.length; i++) {
document.forms[i].addEventListener("submit", function () {
var elementList = document.getElementsByTagName("INPUT");
for (var i = 0; i < elementList.length; i++) {
if (elementList[i].value.toLowerCase().startsWith("myprefix:")) {
// data modification is removed for testing
elementList[i].value = elementList[i].value.substring("myprefix:".length);
}
}
}
}
}
最佳答案
您可以尝试先停止默认事件,然后在 setTimeout
block 中调用 form.submit()
。
关于javascript onsubmit更改字段值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23806172/