我正在编写一个j脚本,可以替换页面上的所有链接并将它们转换为表单,因此可以使用post方法而不是get方法发送请求。
我的代码是:
setTimeout(function() {
var linkss=document.links;
for (var x=0; x<linkss.length; x++) {
var href=linkss[x].href;
var u_id="3";
linkss[x].href="#";
linkss[x].onclick=function(){
var myForm = document.createElement("form");
myForm.action="http://kodaa.ir/s/";
myForm.target="myFrame";
myForm.method="POST";
var url=document.createElement("input");
url.name="url";
url.value="www.google.com";
myForm.appendChild(url);
var u=document.createElement("input");
u.name="u_id";
u.value="3";
myForm.appendChild(u);
myForm.submit();
return false;
};
}
}, 2500);
所以我有两个问题:
1-为什么我的代码不起作用? (它只是删除了href属性,但点击时没有做任何事情)
2-如何将这两个变量(var href AND var u_id)传递给函数内部?
感谢您的帮助
答案 0 :(得分:0)
请尝试以下代码。您错过了将表单对象附加到body元素。我刚刚添加了&#34; document.body.appendChild(myForm);&#34;这一行。
setTimeout(function() {
var linkss=document.links;
for (var x=0; x<linkss.length; x++) {
var href=linkss[x].href;
var u_id="3";
linkss[x].href="#";
linkss[x].onclick=function(){
var myForm = document.createElement("form");
myForm.action="http://kodaa.ir/s/";
myForm.target="myFrame";
myForm.method="POST";
var url=document.createElement("input");
url.name="url";
url.value="www.google.com";
myForm.appendChild(url);
var u=document.createElement("input");
u.name="u_id";
u.value="3";
myForm.appendChild(u);
document.body.appendChild(myForm);
myForm.submit();
return false;
};
}
}, 2500);