2016-11-04 6 views
1

Я создал сценарий с jquery/spservices, который проверяет, отображается ли текущий идентификатор пользователя в столбце с именем userid в пользовательском списке. В случае успеха он возвращает предупреждение, чтобы сказать, что текущий пользователь найден.с использованием SPservices для проверки текущего пользователя существует в списке

Если идентификатор пользователя не найден, я бы хотел, чтобы еще одно предупреждение сообщило что-то вроде «вы еще не зарегистрировались». Он работает, когда находит идентификатор пользователя, но, похоже, не может сказать, что он не существует.

Любая помощь будет высоко ценится :)

вот код:

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

 Смежные вопросы

  • Нет связанных вопросов^_^