2017-10-12 58 views
3

我正在編寫一個j-script,它可以替換頁面上的所有鏈接並將它們轉換爲表單,因此可以使用post方法而不是get方法發送請求。Chaning頁面上的所有鏈接,並提出請求

我的代碼是:

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和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

好,謝謝,第二個問題呢?如何在函數內傳遞這些變量(href和u_id)? –

相關問題