javascript onsubmit更改字段值
我正在编写一个javascript chrome扩展,其中包含一个content_脚本,该脚本:javascript onsubmit更改字段值,javascript,google-chrome-extension,Javascript,Google Chrome Extension,我正在编写一个javascript chrome扩展,其中包含一个content_脚本,该脚本: 读取用户提交的数据 在需要时修改用户数据 删除用户可能已插入并删除的前缀“myprefix:” 改为提交修改后的文本 我已经编写了一些代码,成功地更新了所需的值(我可以在提交时看到输入字段值被更改,就在浏览器离开页面之前)。但是,有时会提交未修改的值(删除前缀之前的值),这种情况会间歇性发生 到目前为止,我有以下代码: document.addEventListener('DOMContentL
- 读取用户提交的数据
- 在需要时修改用户数据
- 删除用户可能已插入并删除的前缀“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);
}
}
}
}
}
document.addEventListener('DOMContentLoaded',函数(){
onsubmitModifier();
}
函数onsubmitModifier(){
对于(var i=0;i
您可以先尝试停止默认事件,然后在setTimeout
块中调用form.submit()
。是否缺少DOMContentLoaded
事件?您说它是“间歇性”发生的:发生这种情况的情况是否有任何模式?是否有可能在DOMContentLoaded
之后动态添加表单?@Xan,我猜如果在DOMContentLoaded
之后添加表单,那么我就不会得到“提交”事件,我正在得到它们(正在修改值,但提交的值并不总是修改的值)。这只是一个提示(我没有时间测试):在单个表单的提交处理程序中,您正在循环页面上的每个输入元素,即使它不是当前表单的一部分