2016-06-14 9 views
1

jQueryコード内の大文字と小文字に応じてvbScript変数(別のファイルで定義されているaccessOK)を設定しようとしています。構文がわからず、他の人のコードと一緒に作業している。jqueryでvbScript変数を割り当てる方法

レベル選択に応じて新しいウィンドウが開きます。

問題:accessOKがtrueまたはfalseの割り当てを取得しないため、アクセスがブロックされます。何かをして、単一のqouteなし<%=accessOK=true%>を使用していない'<%=accessOK=true%>'を使用して

をしようとしました

は、コード内で間違っているReferenceError: True is not defined

何と言いますか?どんな助けもありがとう。

 $('.click_lower').bind('jqplotDataClick', function (ev, seriesIndex, pointIndex, data) { 
      if (plotData.level != "Global" && plotData.level != "Area" && plotData.level != "Country") 
      '<%=accessOK=false%>' 
     else 
      '<%=accessOK=true%>' 
      window.open("index.asp?level="+plotData.detLevel+"&loc="+data[3],'_self'); 
    }); 
+0

クライアント側の変数をサーバー側の値に設定することについて話していますか?クライアント側で値を設定する必要がある場合は、ページが返される前にサーバー側の処理が発生することを覚えておいてください。あなたがしようとしていることに応じて、 '' <%= accessOK = false%> ''を' accessOK = <%=(accessOK = False)%> ';'に置き換えてください。 JavaScriptはブール値が 'True'または' False'と似ていない可能性が高いので、 'true'または' false'を期待します。ですから、 'accessOK = <%= LCase((accessOK = False))%>;を試してください。 – Lankymart

答えて

0

あなたが実際に望むものによっては、このようなものが動作するはずです。

$('.click_lower').bind('jqplotDataClick', function (ev, seriesIndex, pointIndex, data) { 
    var accessOK; 
    if (plotData.level != "Global" && plotData.level != "Area" && plotData.level != "Country") { 
    accessOK = <%= LCase((accessOK = False))%>; 
    } else { 
    accessOK = <%= LCase((accessOK = True))%>; 
    window.open("index.asp?level="+plotData.detLevel+"&loc="+data[3],'_self'); 
    } 
}); 

ちょうどページがクライアントに返される前に、そのサーバー側のコードが起こる覚えて、そうだろう、サーバー側可変accessOKに応じてコード

<%= LCase((accessOK = False))%> 

いずれかTrueまたはFalse。 JavaScriptの構文を破らないように、LCase()を使用してケースを修正します。

実際に生成されたHTMLを見ると、次のようなものになります。

$('.click_lower').bind('jqplotDataClick', function (ev, seriesIndex, pointIndex, data) { 
    var accessOK; 
    if (plotData.level != "Global" && plotData.level != "Area" && plotData.level != "Country") { 
    accessOK = true; 
    } else { 
    accessOK = false; 
    window.open("index.asp?level="+plotData.detLevel+"&loc="+data[3],'_self'); 
    } 
}); 
+0

私はあなたが提案したことを理解していますが、このコードは動作せず、まだaccessOK = trueを設定できません。したがって、 'window.open(...)'はアクセスされません – shaz

+1

ここで問題となるのは、@sharleneは心、残念ながら私は心の読者ではない。あなたのコードが*(私の変更を加えても)立っているので*私はあなたのクライアント側のコードの変数 'accessOK'が何をしているのか分かりません。 'var accessOK;'と '<%= accessOK%> 'はまったく異なる変数で、それらを混同しないでください。 'accessOK'の値が' window.open() '呼び出しに影響を与えるかどうかチェックしていますか? – Lankymart

+0

'.html'ファイルのaccessOKの値を' vbScript'コードでチェックします。しかし、これは、クライアント側がメニューから何かを選択するオプションをチェックするためです。しかし、私はjQueryの部分で何をしようとしているのは、グラフのバーをクリックすると、アクセスと開いているページを確認する必要があります。 html側の擬似コードでは、「accessOK = trueの場合、else elseブロックを実行してください」というメッセージが表示されます。 – shaz

関連する問題