2016-11-04 2 views
1

jquery/spservices를 사용하여 현재 로그인 한 사용자 아이디가 사용자 정의 목록의 userid 열에 나타나는지 확인하는 스크립트를 만들었습니다. 성공하면 현재 사용자가 찾았다 고 말하는 경고를 반환합니다.현재 사용자를 확인하기 위해 SPservices를 사용하여 목록에 있음

사용자 ID가 발견되지 않으면 "아직 등록하지 않았습니다."와 같은 다른 경고를 보내고 싶습니다. 사용자 ID가있는 위치를 찾을 때 작동하지만 존재하지 않는다고 말할 수없는 것처럼 보입니다.

은 어떤 도움이 많이 주시면 감사하겠습니다 :)

여기

코드입니다 :

var userName = $().SPServices.SPGetCurrentUser({ 
fieldName: "UserName"});var query = '<Query>' + 
'<Where>' + 
'<Eq>' + 
'<FieldRef Name="userid" />' + 
'<Value Type="User">' + userName + '</Value>' + 
'</Eq>' + 
'</Where>' + 
'</Query>';$(document).ready(function() { 
$().SPServices({ 
    operation: "GetListItems", 
    async: false, 
    listName: "test", 
    CAMLViewFields: "<ViewFields><FieldRef Name='userid' /></ViewFields>", 
    completefunc: function(xData, Status) { 
     $(xData.responseXML).SPFilterNode("z:row").each(function() { 
      if (userName == $(this).attr("ows_userid")) { 
       alert("current user found"); 
      } else { 
       alert("You need to register before accessing.."); 
      } 
     }); 
    } 
});});</script> 

답변

0

당신이 완성 기능 아래로 사용해 볼 수 : 완벽하게 작동

completefunc: function(xData, Status) { 

    var matchFound = false; //define flag 

    //loop through all rows 
    $(xData.responseXML).SPFilterNode("z:row").each(function() { 
     if (userName == $(this).attr("ows_userid")) { 
      matchFound = true; //set the flag to true indicating matched record 
     } 
    }); 

    if(matchFound) 
     alert("current user found"); 
    else 
     alert("You need to register before accessing.."); 
} 
+0

! 고마워요 :) – RScott

관련 문제