2017-09-14 2 views
0

私はPHPページをHTMLページにリダイレクトしています。 URL変数をHTMLページに追加し、URL変数が?e=1(エラー= 1)の場合は、"Please choose at least one subscription."のアラートを表示します。現在のページのURL変数が?e = 1の場合は、javascriptを使用してアラートを表示します。

私はこれを試しましたが、間違っていると思います。

function getQueryVariable(variable) 
{ 
     var query = window.location.search.substring(1); 
     var vars = query.split("&"); 
     for (var i=0;i<vars.length;i++) { 
       var pair = vars[i].split("="); 
       if(pair[0] == variable){return pair[1];} 
       alert ('Please choose at least one subscription.') 
     } 
     return(false); 
} 

URL例:http://www.example.com/index.html?e=1

+0

URLから値を取得できるようになっているようです。 'getQueryVariable( 'e')'を実行して戻ってきたものを見てみましたか? –

+0

@MikeC: '戻る?彼らはいつも「偽」に戻るでしょう。 –

+1

@SamAxeそうではありません。 URLの値が見つからない場合、 'false'を返します。参照: 'if(pair [0] == variable){return pair [1];}' –

答えて

0

あなたが置かれているalertreturn後、パラメータが一致したときに、それが到達不能だそう - それはをそのすべてのパラメータを上の警告ますので、それはif文の外ですと一致しません。それは代わりにここに属する:

function getQueryVariable(variable) { 
    var query = window.location.search.substring(1); 
    var vars = query.split("&"); 
    for (var i=0;i<vars.length;i++) { 
      var pair = vars[i].split("="); 
      if(pair[0] == variable){ 
      alert ('Please choose at least one subscription.') 
      return pair[1]; 
      } 
    } 
    return(false); 
} 

または、より良い、その関数からアラートを削除し、それが戻り値をベース扱う、後で別のURLパラメータのため、この機能を使用したい場合には:

if (getQueryVariable('e')) { // or if (getQueryVariable('e') == 1) {...} 
    alert("Please choose at least one subscription."); 
} 
関連する問題