当用户尝试两次回答调查时,很好的回答是:“您不能再次回复此调查。”但是我们中的一些人正在为ASP.NET应用程序获得标准的“崩溃”屏幕。
这是一个配置项还是什么(我们在SP2007上)?
提前致谢...
答案 0 :(得分:0)
我最终通过使用此代码完全替换默认的“Respond to ...”按钮处理程序解决了这个问题,该代码取代了任何重新接受调查的尝试,并通过警告通知用户他已经完成了。< / p>
$(document).ready(function() {
var myQueryOptions = "<QueryOptions />";
//this was amazing: the value you need gets supplied by <UserID Type='Integer'/> (via Vadim Gremyachev)
var myQuery = "<Query><Where><Eq><FieldRef Name='Author'/><Value Type='Integer'><UserID Type='Integer'/></Value></Eq></Where></Query>"; //find any instance of the current user
var listPromise = $().SPServices({
operation: "GetListItems",
listName: "{58ECDD94-8817-43A9-ACEC-42A1657E2F25}", //dev Survey list
CAMLViewFields: "<ViewFields><FieldRef Name='ID' /></ViewFields>",
CAMLQuery: myQuery,
CAMLQueryOptions: myQueryOptions
});
listPromise.done(function() {
var iCount = $(listPromise.responseXML).SPFilterNode("rs:data").attr("ItemCount");
if(iCount > 0) {
$("[id*='_ctl00_toolBarTbl_RptControls_ctl00_diidIONewItem']").each(function() {
$(this).attr("onclick", "");
$(this).attr("href", "");
$(this).on("click", function() {alert("You've already taken the survey!");});
});
}
iCount++;
});
listPromise.fail(function() { alert("whoops");});
}); // $(document).ready()