2016-04-29 9 views
0

ULRパラメータを取得しようとしていますが、デバッグ時にエラーが表示されるため、コードが実行されません。Cannot read property 'split' of undefined と私は間違っています。 例:default.html?pid=405 JavaScript変数の405の値を取得する必要があります。これは私が使用しているコードです:JavaScriptを使用したURLパラメータの取得

<script type="text/javascript"> 
    function getUrlParameters(parameter, staticURL, decode) { 
     var currLocation = (staticURL.length) ? staticURL : window.location.search, 
      parArr = currLocation.split("?")[1].split("&"), 
      returnBool = true; 

     for (var i = 0; i < parArr.length; i++) { 
      parr = parArr[i].value.split("="); 
      if (parr[0] == parameter) { 
       return (decode) ? decodeURIComponent(parr[1]) : parr[1]; 
       returnBool = true; 
      } else { 
       returnBool = false; 
      } 
     } 

     if (!returnBool) return false; 
    } 
</script> 

<script type="text/javascript"> 
    function runDepo() 
    { 
     var idParameter = getUrlParameters("pid", "", true); 
    } 

誰かが私を助けることができますか?前もって感謝します。

+0

から.valueを削除しますか? –

+0

[JavaScriptでクエリ文字列値を取得するにはどうすればよいですか?](http://stackoverflow.com/questions/901115/how-can-i-get-query-values-in-javascript) – Aeolingamenfel

+0

parr = parArr [i] .value.split( "="); – Lanshore

答えて

2

ちょうどそのエラーを投げているラインparr = parArr[i].value.split("=");

function getUrlParameters(parameter, staticURL, decode) { 
 
     var currLocation = (staticURL.length) ? staticURL : window.location.search, 
 
      parArr = currLocation.split("?")[1].split("&"), 
 
      returnBool = true; 
 

 
     for (var i = 0; i < parArr.length; i++) { 
 
      parr = parArr[i].split("="); 
 
      if (parr[0] == parameter) { 
 
       return (decode) ? decodeURIComponent(parr[1]) : parr[1]; 
 
       returnBool = true; 
 
      } else { 
 
       returnBool = false; 
 
      } 
 
     }; 
 

 
     if (!returnBool) return false; 
 
    }; 
 
    
 
    document.getElementById('Result').value = getUrlParameters("pid", "default.html?pid=405", true); 
 

 
    alert(getUrlParameters("pid", "default.html?pid=405", true));
PID : <input type="text" id="Result" placeholder="Result">

+0

私はこれを試しましたが、この 'alert(getUrlParameters(" pid "、" default.html?pid = 405 "、true))をコーディングしなければなりません。 – Lanshore

+0

@Lanshoreいいえ、機能をテストするだけですが、結果を表示する場所はどこですか? –

+0

これを答えとして投稿すると、私は自分自身に答えることはできません。私はそれを私自身で解決しました。 – Lanshore

関連する問題