我创建了一个带有jquery / spservices的脚本,用于检查当前登录的用户ID是否出现在自定义列表中名为userid的列中。如果成功,它会返回一个警告,表示当前用户已找到。
如果找不到用户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 :(得分:1)
您可以尝试使用以下完整功能:
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..");
}