如何自动填写表格

时间:2014-04-03 10:16:33

标签: javascript google-chrome google-chrome-extension

我想创建一个示例应用程序,在执行时会自动检查当前页面的复选框"" (id在脚本中是硬编码的。)

我尝试了以下代码,但没有发生任何事情(复选框仍然没有检查。

的test.html

<!DOCTYPE html>
<html>
<head>
    <script type="text/javascript" src="test.js"></script>
</head>

<body>
    <input type = "button" onclick="check"/>
</body>
</html>

test.js

function check()
{
    document.getElementById('hard_coded_id').checked = true;
}

这段代码有什么问题。请帮帮我。

修改

&#34; hard_coded_id&#34;是来自网站的复选框,例如&#34; www.hello.com&#34;。当这个网站被打开时,当我的应用程序启动时,我想要选中该复选框。

我会问我的问题不同,是否可以创建一个应用扩展程序,在加载Google网站时自动填充Google搜索文本框。

2 个答案:

答案 0 :(得分:1)

试试这个:

<!DOCTYPE html>
<html>
    <head>
        <script type="text/javascript" src="test.js"></script>
    </head>

    <body>
        <input type = "button" onclick="check()"/>
    </body>
 </html>

无论如何这是创建复选框的正确方法(不需要选中已检查的属性):

<input id="hard_coded_id" type="checkbox" checked="" name="hard_coded_id">

答案 1 :(得分:1)

是的,可以检查某个页面上的复选框(或者更确切地说是填充文本框)。您需要做的就是在清单的content_scripts部分提及您的扩展程序脚本并为其提供正确的匹配

实施例

"content_scripts": [ {
   "js": [ "test.js" ],
   "matches": [ "http://www.hello.com/*" ]
} ],

您的test.js将被注入页面,因此它将在您的扩展范围之外且在网页范围内运行。如果使用jQuery,使用window.onload$(document).ready()等机制,可以使脚本等到目标页面加载完毕

$(document).ready(function() {
   check();
});

function check()
{
   document.getElementById('hard_coded_id').checked = true;
}

鉴于目标网页上存在hard_coded_id