【问题标题】:Chaning all links on the page and make them post requests更改页面上的所有链接并使其发布请求
【发布时间】:2017-10-12 06:49:47
【问题描述】:

我正在编写一个 j-script 可以替换页面上的所有链接并将它们转换为表单,因此可以使用 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)传递到函数内部?

感谢您的帮助

【问题讨论】:

  • u_id 是基于链接的动态吗?
  • @SKJajoriya 是的,我稍后会为此编写代码。
  • 你能提供HTML吗?
  • @SKJajoriya 我希望这个脚本可以在不同的网站上使用。

标签: javascript html


【解决方案1】:

请尝试以下代码。您错过了将表单对象附加到正文元素。我刚刚添加了“document.body.appendChild(myForm);”这一行。

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);

【讨论】:

  • 好的,谢谢,第二个问题呢?如何在函数内部传递这些变量(href 和 u_id)?
猜你喜欢
  • 1970-01-01
  • 2017-02-09
  • 1970-01-01
  • 1970-01-01
  • 2013-10-22
  • 2020-07-24
  • 2013-06-27
  • 1970-01-01
  • 2016-09-22
相关资源
最近更新 更多