我如何使用纯javascript附加表单's的动作作为隐藏元素

How can I use pure javascript to append form's action as hidden element?

本文关键字:作作 元素 隐藏 何使用 javascript 表单      更新时间:2023-09-26

我想写一个bookmarklet来改变一个页面上所有表单的动作到一个指定的URL,在这个例子中,我使用google.com,并且还添加了一个名为"action"的隐藏表单元素与原始值。

我已经得到了第一部分工作:

<>之前javascript:(函数(){var x,我;X = document.forms;For (i = 0;我& lt;x.length;+ + i) x[我].action ="http://www.google.com/";}) ();之前

但是我如何使用纯javascript附加表单的原始动作作为一个新的隐藏元素,像这样?

<>之前& lt;输入类型="hidden"name ="action"值="http://original-action-url.com"/比;

如果我没理解错的话,这个->

var action = document.forms[0].action;
document.getElementsByName('action')[0].setAttribute("value", action);

编辑(在你的评论之后)-->

y = document.forms; 
for (i = 0; i < y.length; ++i){
var x = document.createElement("input");
x.setAttribute("name", "hiddenAction" + i);
x.setAttribute("type","hidden");
x.setAttribute("value",y[i].getAttribute("action"));
y[i].appendChild(x); //you said Appended to the form.
}

还没有测试过,所以可能需要一些调整。