javascript onsubmit更改字段值

时间:2014-05-22 11:56:49

标签: javascript google-chrome-extension

我正在编写一个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);
                }
            }
        }
    }
}

1 个答案:

答案 0 :(得分:0)

您可以尝试先停止默认事件,然后在form.submit()块中调用setTimeout