找到没有Id的表单并添加输入元素

时间:2014-06-09 05:59:11

标签: javascript html forms

我需要在id不知道的表单中添加一个输入元素。如果页面中只有一个表单,则下面的代码效果很好

var dd = document.createElement("div");
dd.id = "cont";
dd.name = "cont";
var pp = document.createElement("input");
pp.type = "password";
pp.name = "pass";
dd.appendChild(pp);

document.getElementsByTagName('form')[0].appendChild(dd);

但是当页面中有多个表单时,此输入元素将使用上面的代码附加到第一个表单。 请记住,我不知道html页面中有多少表单。用户可以在页面中以任何形式放置脚本。那么我如何确保输入元素被附加到正确的表单。有人提出了jquery nearest()函数,但我更喜欢纯粹的javascript   一个有效的例子是google recaptcha。 recaptcha challenge文本框出现在你把脚本完全放在你想要的形式的地方。

所以,任何有关纯JavaScript代码的帮助都会非常感激。

感谢名单..

2 个答案:

答案 0 :(得分:1)

如果要将input标记插入到放置脚本标记的同一表单中。您可以像这样引用特定的表单

var form = document.currentScript.parentNode;
form.appendChild(dd);

答案 1 :(得分:0)

Class添加form, 并在javascript中按类名获取表单

document.getElementsByClassName('classname')[0].appendChild(dd);