2016-06-14 3 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는 부울을 '참'또는 '거짓'으로 싫어하기 때문에 '참'또는 '거짓'이 예상됩니다. 그래서'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. 자바 스크립트 구문을 깨지 않도록하려면 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 %> '는 완전히 다른 변수이며, 혼동하지 않는다는 것을 기억하십시오. 'access.K'의 값을 확인하여'window.open()'호출에 영향을주는 부분은 무엇입니까? – Lankymart

+0

'vbScript '코드가 통합 된'.html' 파일에서 accessOK의 값을 확인합니다. 그러나 이는 사용자가 메뉴에서 무언가를 선택하는 옵션을 클라이언트 측에서 확인하기위한 것입니다. 하지만 jQuery 부분에서 뭘 하려는지는 차트의 막대를 클릭하면 액세스를 확인하고 페이지를 열어야한다는 것입니다. html 쪽의 의사 코드는 "accessOK = true이면 display else 블록을 수행하십시오." – shaz

관련 문제