我正在使用Greasemonkey在文本框中插入一个值,但我不能为我的生活让它发挥作用。我右键单击Firefox中的文本框并检查元素。它显示“input #ExtensionExtnum .field_for_edit”
document.getElementsByName("ExtensionExtnum").item(0).value = "test";
document.forms[0].submit();
我回来了:
/*
Exception: document.getElementsByName("ExtensionExtnum").item(0) is null
@Scratchpad:8
*/
我已经将这种代码用于其他网站,用于自动输入用户名和密码。我不明白为什么它在这里不起作用。
答案 0 :(得分:0)
var items = document.getElementsByName("ExtensionExtnum");
if(items.length > 0)
items[0].value = "test";
答案 1 :(得分:0)
在input#ExtensionExtnum.field_for_edit
中,ExtensionExtnum
是元素ID,而不是其名称。因此,您必须使用:
var elem = document.getElementById("ExtensionExtnum");
if ( elem !== null) elem.value = "test";
如果要设置类field_for_edit
的所有元素的值,请使用:
var elem = document.getElementsByClassName("field_for_edit");
for (var i = 0; i < elem.length; i++)
{
elem[i].value = "test";
}
答案 2 :(得分:0)
先检查是否有这样的元素
if(document.getElementById("ExtensionExtnum") != undefined)
{
document.getElementById("ExtensionExtnum").value = "test";
}