2010-11-07 131 views
0

我正在尝试创建一个用于个人用途的简单扩展。这部分来自懒惰,部分来自于学习的冲动。我以前从未做过扩展,但我一直在查看文档。现在我只需要编写代码。我想要做的是当浏览器加载某个页面时,将文本插入到特定的表单中。该形式如下如何使用JavaScript将文本插入到表单中

<div id="set_tags" class="advanced_option"> 
    <label for="post_tags" class="inline_input_label" id="post_tags_label" 
     onclick="Element.remove($(this))" 
     style="left:8px; right:auto; text-align:left">tags</label> 
    <input id="post_tags" name="post[tags]" type="text"/> 
</div> 

我没有太多的工作与JavaScript,因此有没有办法在加载页面时,文本“音乐”添加到这个?

回答

1

您可以使用onload函数启动您的功能。 http://javascript.about.com/library/blonload.htm

既然你是新的JavaScript可能要熟悉unobtrusive javascripthttp://www.onlinetools.org/articles/unobtrusivejavascript/chapter4.html),我觉得这是写javascript更好的办法,因为你可以很容易注释掉的JavaScript,看看它是如何工作的时候也就是禁用。但是,一开始就了解这一点会更容易。

要获得input标签,你可以使用document.getElementById()这将是这样的:

var elem = document.getElementById('post_tags'); 

然后,将文本添加到这个领域应该有你上面的input定义一个value属性,你只做:

elem.value = "Music"; 
0
document.getElementById("post_tags_label").appendChild(
    document.createTextNode("Music")); 

我假设你想把它放在元素post_tags_label的末尾。

+0

这看起来像它应该工作,但问题是onclick函数,删除post_tags_label内的任何东西。我可以把它放在输入区域“post_tags”吗? – Tommy 2010-11-07 21:15:14

+0

@Tommy:是的。但afaik并不删除内容,而是删除整个元素。 – thejh 2010-11-07 21:55:15

0

如果您使用GreaseMonkey,这确实很容易。它非常适合您想要对网页进行个人更改等。

+0

我不认为这真的回答了这个问题。我想你可能想展示一个如何使用GreaseMonkey来做到这一点的例子,然后你就受到浏览器支持的限制。 – 2010-11-07 21:37:25

+0

@詹姆斯布莱克:他确实说过,“懒惰”对他来说是一个问题,这会妨碍学习写作扩展的努力。至于其对支持的浏览器的限制,他还表示这是为了“个人使用”。至于完成任务所需的GreaseMonkey脚本,它只有一行:'document.getElementById('post_tags')。value =“Music”;'他可以在http://outgoing.mozilla.org/找到关于GreaseMonkey的信息。 v1/1e29ffc6315f207894916da52f1a3e5dd51b7e77/http%3A // www.greasespot.net /,他可以在这里阅读教程。 – Robusto 2010-11-07 23:44:42

+0

JavaScript代码可以在网页上以及GreaseMonkey上工作,但只是指出没有上下文的技术可能是有限的帮助,就是这样。 – 2010-11-08 13:25:03

相关问题