Перечисление атрибутов элемента списка с JQuery на Sharepoint, связывание с большим количеством JS - PullRequest
0 голосов
/ 27 октября 2011

Итак, в моей компании работает сервер Sharepoint 2007, и мне было поручено настроить пространство управления проектами с помощью этой службы. Моя цель заключается в том, чтобы иметь возможность создавать PDF-файлы на стороне клиента, содержащие информацию из любого элемента списка, который выбирает пользователь.

То, чего я достиг на данный момент, это определение того, что я могу использовать веб-часть редактора общего содержимого на странице по умолчанию, я могу включить JS в эту веб-часть и что этот JS может получать заголовки элементов списка с помощью JQuery. Код, который я использую, показан ниже (заимствован из сетевой статьи) -

<script type="text/javascript" src="http://jqueryjs.googlecode.com/files/jquery-

1.3.2.min.js"></script>

<script type="text/javascript">
    $(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>Tasks</listName> \
                        <viewFields> \
                            <ViewFields> \
                               <FieldRef Name='Status' /> \
                           </ViewFields> \
                        </viewFields> \
                    </GetListItems> \
                </soapenv:Body> \
            </soapenv:Envelope>";

        $.ajax({
            url: "_vti_bin/lists.asmx",
            type: "POST",
            dataType: "xml",
            data: soapEnv,
            complete: processResult,
            contentType: "text/xml; charset=\"utf-8\""
        });
    });

    function processResult(xData, status) {
        $(xData.responseXML).find("z\\:row").each(function() {
            var liHtml = "<li>" + $(this).attr("ows_Title") + "</li>";
            $("#tasksUL").append(liHtml);
        });
    }
</script>

<ul id="tasksUL"/> 

Проблема 1. Внутри вызова конверта SOAP я попытался изменить значение «FieldRef Name» на «Status», но обнаружил, что это ничего не делает (если вы сейчас спрашиваете себя, есть ли у меня опыт работы с JS, ответ почти нет) В методе processResult я пытался изменить атрибут с «ows_Title» на «ows_Status» или «Status», но безрезультатно. Я просто получаю "undefined" для каждого элемента списка.

Проблема 2 - я хочу, чтобы пользователь мог выбрать элемент списка и создать сводную информацию в формате PDF. Я знаю о библиотеке Marak's PDF.JS, но я не уверен, как их объединить (другими словами, я не уверен, как вызвать JS из каждого элемента списка или иметь отдельный список с именами элементов который вызывает JS).

Спасибо за вашу помощь.

1 Ответ

0 голосов
/ 27 октября 2011

Возможно, вы захотите взглянуть на мою библиотеку jQuery SPServices, чтобы вам было проще.Я сделал всю работу по SOAP для вас.http://SPServices.codeplex.com

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...