2012-11-07 3 views
0

자바 스크립트 배열에서 일부 데이터를 푸시하려고하는 jsp 코드입니다.자바 스크립트 배열에 데이터 저장

<% 
    int proListSize = proList.size(); 

ProfileDAO proDAO = null; 

      for(int i = 0, j=1; i < proListSize; i++){ 

       proDAO = (ProfileDAO)proList.get(i);%> 

     entireArray.push(<%= proDAO.getNetworkmapId()%> + ":"+<%=proDAO.getAssetId()%> + ":" + <%= proDAO.getCode()%>); 

     <%} %> 

그리고 이것은 팝 기능을 사용하여이를 사용하려고하는 기능입니다. 나는 내가 자바 스크립트 오류가 발생 위를 수행 한 후 자바 스크립트 function..but에서 사용할 수 있도록

function GenDemographicTag() { 

var ptag = "<!-- Begin "+networkNameToUpperCase+" -->\n" ; 
      var t = ""; 
      if (WhiteTagLabelDomain) { 
       ptag += "<iframe src=\"http://"+WhiteTagLabelDomainTrim+"/jsc/"+folderName+"/dm.html?"; 
      } else { 
       ptag += "<iframe src=\"http://"+cdnName+"/jsc/"+folderName+"/dm.html?"; 
      } 
      ptag += "n="+networkId+";"; 

      for(var i = 0;i< entireArray.length;i++){ 
       var combinedString = entireArray.splice(1,1); 
       var rightSide = combinedString.split(':')[0]; 
       var middle = combinedString.split(':')[1]; 
       var leftSide = combinedString.split(':')[2]; 
      t = ""; 
      if ($("proElementEnable_"+rightSide) && $("proElementEnable_"+leftSide).checked) { 
       if (middle == "1") { 
        if ($("zip").value.length <= 0) { 
        t = "0"; 
        } else { 
        t = $("zip").value; 
        } 
       } else if ($("targetList_"+rightSide) && $("targetList_"+rightSide).length > 0 && $("targetList_"+rightSide).options[0].value != "-1") { 
        t = makeProelementList($("targetList_"+rightSide)); 
       } 
       ptag += leftSide+"=" + t+ ";"; 
      } 

      proDAO = null; 
      } 

      ptag += "\" frameborder=0 marginheight=0 marginwidth=0 scrolling=\"no\" allowTransparency=\"true\" width=1 height=1>\n</iframe>\n<!-- end "+networkNameToUpperCase+" -->\n"; 

      document.forms[0].tag.value = ptag; 

     } 

기본적으로 나는 ... proList에서 데이터를 얻을 자바 스크립트 배열 (entireArray)를 보관하는 것을 시도하고있다 다음과 같이 :

entireArray.push(3 + ":"+3 + ":" + d3); 

entireArray.push(185 + ":"+5 + ":" + d4); 

entireArray.push(2 + ":"+2 + ":" + d2); 

entireArray.push(186 + ":"+5 + ":" + d9); 

entireArray.push(183 + ":"+5 + ":" + d6); 

entireArray.push(184 + ":"+5 + ":" + d7); 

entireArray.push(187 + ":"+5 + ":" + da); 

entireArray.push(445 + ":"+5 + ":" + db); 

Reference Error:d3 is not defined. 

정확한 문제는 무엇입니까?

답변

2

는 스플 라이스의 반환 유형은 ARRAY입니다, 그래서 당신은

var combinedString = entireArray.splice(1,1); 
var rightSide = combinedString[0].split(':')[0]; 
var middle = combinedString[0].split(':')[1]; 
var leftSide = combinedString[0].split(':')[2]; 
0

d3은 따옴표로 묶어야합니다. "d3"

JSP를 따옴표로 묶어야합니다.

entireArray.push(<%= proDAO.getNetworkmapId()%> + ":"+<%=proDAO.getAssetId()%> + ":" + '<%= proDAO.getCode()%>'); 
+0

이봐 지금은 그 유형의 오류를 알리는 또 다른 자바 스크립트 오류가 발생하고 그 helped..but 코드를 다음 시도 할 수 있습니다 : combinedString.Split입니다 함수가 아니라 ... 자바 스크립트에서 split이 확실하게 함수라는 것을 확인했습니다. 이것에 대한 대안도 있습니다 ... 당신은 아무것도 제안 할 수 있습니까? – milind

관련 문제