在Sharepoint中默認建立的調查列表系統只容許答覆一次,再次答覆將報錯誤信息,這對最終用戶而言是很是不友好的體驗,固然你也能夠在調查設置中的常規設置中設置容許屢次答覆,這樣就會有錯誤提示信息,但有時實際業務場景只容許最終用戶答覆一次,不容許再次答覆,所以很是有必要改進系統的重複答覆錯誤提示信息,本文給出一種在調查列表中自定義的不容許再次答覆提示的處理方法,經過Sharepoint列表Web服務和自定義的調查列表頁面實現。若是容許屢次答覆能夠按下圖設置:javascript
若是不容許屢次答覆的,系統默認的報錯信息以下圖:html
經過自定義的報錯提示以下圖:java
核心的JS代碼以下:ajax
$(document).ready(function() { var soapEnv = "<soapenv:Envelope xmlns:soapenv='http://schemas.xmlsoap.org/soap/envelope/'> \ <soapenv:Body> \ <GetListItems xmlns='http://schemas.microsoft.com/sharepoint/soap/'> \ <listName>食堂管理</listName> \ <viewFields> \ <ViewFields> \ <FieldRef Name='ID' /> \ </ViewFields> \ </viewFields> \ <query> \ <Query> \ <Where> \ <Eq> \ <FieldRef Name='Author' /> \ <Value Type='Integer'> \ <UserID Type='Integer' /> \ </Value> \ </Eq> \ </Where> \ </Query> \ </query> \ <queryOptions> \ <QueryOptions> \ <RowLimit>1</RowLimit> \ </QueryOptions> \ </queryOptions> \ </GetListItems> \ </soapenv:Body> \ </soapenv:Envelope>"; $.ajax({ url: "http://portal.contoso.uat/jx/_vti_bin/lists.asmx", type: "POST", dataType: "xml", data: soapEnv, async: false, complete: processResult, contentType: "text/xml; charset=\"utf-8\"" }); }); function OpenDg() { $( "#dialog-message" ).dialog({ modal: true, buttons: { 肯定: function() { $( this ).dialog( "close" ); } } }); }; function processResult(xData, status) { if(xData.responseText.indexOf("<z:row") <0) { $("#stgl").attr("href","/JX/Lists/Survey6/NewForm.aspx?Source=http://portal.contoso.uat/jx/SitePages/Home.html"); return true; } else { $("#stgl").click(function(){ $('#dialog-message').empty(); $('#dialog-message').append("<p>對不起,您已填過<b>食堂管理</b>調查,不容許再次答覆此調查!</p>"); OpenDg(); return false; }); } }
本博客爲軟件人生原創,歡迎轉載,轉載請標明出處:http://www.cnblogs.com/nbpowerboy/p/3655773.html 。演繹或用於商業目的,可是必須保留本文的署名軟件人生(包含連接)。如您有任何疑問或者受權方面的協商,請給我留言。app |