2017-10-12 2 views
3

私は、ページ上のすべてのリンクを置き換えてフォームに変換できるjスクリプトを作成していますので、getメソッドではなくpostメソッドで送信できます。ページ上のすべてのリンクを詰めて投稿要求を投稿する

私のコードは次のとおりです。

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これらの2つの変数(var hrefとvar u_id)を関数内に渡すにはどうすればよいですか?

ありがとうございました

+0

「u_id」はリンクに基づいて動的ですか? –

+0

@SKJajoriyaはい、後でそのコードを書きます。 –

+0

HTMLを提供できますか? –

答えて

0

次のコードを試してください。 body要素にフォームオブジェクトを追加することができませんでした。私は "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); 
+0

良い、ありがとう、第2の質問はどうですか?関数内でこれらの変数(hrefとu_id)を渡すにはどうすればよいですか? –

関連する問題