无法修改<input />标记的值

时间:2015-12-11 05:16:32

标签: javascript html google-chrome-extension

我已经制作了Chrome扩展程序,并为其添加了一个选项页面。我在选项页面上有一个输入,如<input id="inpID">,并调用了一个外部javascript文件,如<script type="text/javascript" src="whatever.js"></script>

whatever.js是这样的:

var inpID = document.getElementById('inpID');
...
function getData(key){
    var tem = '';
    chrome.storage.local.get(key,function (msg){
        tem = JSON.stringify(msg).substr((key.length+5),JSON.stringify(msg).length-(key.length+7));
    })
    return tem;
}
function setData(key,value){
    chrome.storage.local.set({key: value},function(){});
}
...
inpID.addEventListener('keyup',saveID);
...
function saveID() {
    setData('ID',inpID.value);
}
...
inpID.value = getData('ID')

然而,这段代码根本不起作用。我在输入,刷新页面输入内容,输入仍为空白。有帮助吗?

1 个答案:

答案 0 :(得分:0)

使用Jquery。

$("#ID").attr("value",ID)

作为示例,这适用于stackoverflow-site:

$("#search input").attr("value","myValue")

也许你的问题出在其他地方,因为你的代码应该按原样运行。

作为测试,您可能需要将inpID和echo getData('ID')的背景颜色设置为控制台。