none
Создание опроса с картинками в SharePoint Foudation 2010, как? RRS feed

  • Вопрос

  • Добрый день, Друзья!

    нужна помощь, очень!

    как Создать опрос с картинками в SharePoint Foudation 2010...

    Надо опросить сотрудников по новым вариантам дизайна... есть 5 картинок, надо чтоб они отображались, а сотрудники под ними ставили свой выбор или в балах или да/нет...

    Пожалуйста, очень нужна помощь! не могу найти как картинки засовывать в вопросы!


    Мы сами не местные, коды писать не умеем :):):)

Ответы

  • В SP 2013 скорей всего не сработает. Надо смотреть на HTML код страницы. И от этого уже "плясать" так сказать.

    $(".ms-gridT1").each

    перебирает все элементы с классом "ms-gridT1", надо посмотреть в элементе с каким классом лежит текст в SP2013.

    f12 в браузере в помощь.


    Лично я всегда использую консоль FireBug в Firefox.
    26 сентября 2013 г. 6:21
  • 1. NewForm.aspx для списка опроса в sharepoint Designer

    2.

    <asp:Content ContentPlaceHolderId="PlaceHolderTitleAreaClass" runat="server">
    //Подключаем Jquery с оф сайта. Можно скачать и положить локально на сервер
    <script src="http://code.jquery.com/jquery-1.7.2.min.js"></script>
    </script>
    
    						<script>
    //Сам скрипт
    $(document).ready(function() {
    $(".ms-RadioText").parent().parent().parent().parent().css("position","relative").css("top","-50px");
    $(".ms-RadioText").each(function(){
    img =$(this).attr("Title");
    $(this).attr("Title","");
    $(this).find("label").html("");
    $(this).append(img);
    })
    });
    </script>
    
    </asp:Content>
    

    3. http://jquery.com/ (JavaScript библиотека)

    4.

    19 июня 2012 г. 9:57
  • Варианты ответов записываем как и раньше:

    <img srv="url-путь до картинки" />

    И на форму вешаем такой скрипт:

    $(".ms-gridT1").each(function(){
    var newtext=$(this).html().replace("&lt;","<").replace("&gt;",">");
    $(this).html(newtext)
    });

    Не забываем подключить JQuery.
    9 октября 2012 г. 15:01
  • Вот кусок кода который у меня получился, на форме NewForm.aspx:

    <asp:Content ContentPlaceHolderId="PlaceHolderTitleAreaClass" runat="server">
    <script type="text/javascript" id="onetidPageTitleAreaFrameScript">
    //Это уже было. Привожу этот кусок, что бы показать целеком блок asp:content
    	if (document.getElementById("onetidPageTitleAreaFrame") != null)
    	{
    		document.getElementById("onetidPageTitleAreaFrame").className="ms-areaseparator";
    	}
    </script>
    <script src="http://code.jquery.com/jquery-1.7.2.min.js"></script>
    <script>
    $(document).ready(function(){
    $(".ms-gridT1").each(function(){
    var newtext=$(this).html().replace("&lt;","<").replace("&gt;",">");
    $(this).html(newtext)
    });
    });
    </script>
    </asp:Content>
    

    • Помечено в качестве ответа igorsss 10 октября 2012 г. 13:32
    10 октября 2012 г. 9:23
  • Спасибо Алексей за Ваше решение!!!

    очень помогло.

    так же , по Вашему примеру, добавил код на страницу summary.aspx

    <script>
    //Сам скрипт
    $(document).ready(function(){
    $(".ms-vb").each(function(){
    var newtext=$(this).html().replace("&lt;","<").replace("&gt;",">");
    $(this).html(newtext)
    });
    });
    </script>


    7 февраля 2014 г. 12:23
    Модератор
  • Я делал с использованием JQuery. Изменял форму NewForm.aspx в Sharepoint Designer.

    Добавил такой код:

    $(document).ready(function() {
    $(".ms-RadioText").parent().parent().parent().parent().css("position","relative").css("top","-50px");
    $(".ms-RadioText").each(function(){
    img =$(this).attr("Title");
    $(this).attr("Title","");
    $(this).find("label").html("");
    $(this).append(img);
    })
    });
    А поля выбора писал как <img src="http://portal/image/img.jpg"/>

    Алексей! можно чуток подробней, я попытался впихнуть код в новую форму, но что-то нет результата...

    вот несколько вопросов:

    1. в какую именно новую форму...? я сделал опрос прям в шарике, зашёл в него в дизайнере

    2. куда именно в коде? я воткнул перед

    </WebPart>
    </WebPartPages:ListFormWebPart>
    </ZoneTemplate></WebPartPages:WebPartZone>

    3. что такое JQuery?

    4. выбор поля писал куда?

    заранее спасибо.


    Мы сами не местные, коды писать не умеем :):):)

    • Помечено в качестве ответа igorsss 19 июня 2012 г. 13:20
    19 июня 2012 г. 8:50
  • Можно попробовать так:

    <script>
        $(document).ready(function () {
            $("#SPFieldURL img").each(function () {
                $(this).css("width", "150px").css("height", "auto");
            });
        });
    </script>

    Вообще в IE есть такая кнопка волшебная F12. Позволяет выбрать объекты HTML и просмотреть их свойства: CSS, ID, Class и т.п. И есть примочка для FireFox, называется FireBug. Позволят делать все тоже самое, плюс более простая правка css, html и javascript.
    • Помечено в качестве ответа igorsss 15 октября 2012 г. 9:03
    15 октября 2012 г. 6:12

Все ответы

  • http://social.technet.microsoft.com/Forums/ru-RU/sharepointru/thread/fec6ddaf-6309-4104-bc4d-2e234bfcc848

    или сделать свой опросник!


    |Мой Блог | Мой твиттер |

  • спасибо, ознакомился, но при выборе отсутствует поле типа "изображение/ссылка" :(

    а сделать свой - это в каком смысле? я изначально создаю опрос, где мне предлагают написать вопросы... вот в этот момент в то поле где написано "Введите вопрос..." - вставить изображение невозможно и отдельным полем тоже не получается, точнее, я не знаю как..

    :(:(


    Мы сами не местные, коды писать не умеем :):):)

  • Посмотрите варианты:

    sharepoint survey with pictures

    SharePoint Survey with Images 


    Мнения, высказанные здесь, являются отражением моих личных взглядов, а не позиции корпорации Microsoft. Вся информация предоставляется "как есть" без каких-либо гарантий.

    14 июня 2012 г. 13:47
  • Я делал с использованием JQuery. Изменял форму NewForm.aspx в Sharepoint Designer.

    Добавил такой код:

    $(document).ready(function() {
    $(".ms-RadioText").parent().parent().parent().parent().css("position","relative").css("top","-50px");
    $(".ms-RadioText").each(function(){
    img =$(this).attr("Title");
    $(this).attr("Title","");
    $(this).find("label").html("");
    $(this).append(img);
    })
    });
    
    А поля выбора писал как <img src="http://portal/image/img.jpg"/>

    15 июня 2012 г. 13:52
  • Я делал с использованием JQuery. Изменял форму NewForm.aspx в Sharepoint Designer.

    Добавил такой код:

    $(document).ready(function() {
    $(".ms-RadioText").parent().parent().parent().parent().css("position","relative").css("top","-50px");
    $(".ms-RadioText").each(function(){
    img =$(this).attr("Title");
    $(this).attr("Title","");
    $(this).find("label").html("");
    $(this).append(img);
    })
    });
    А поля выбора писал как <img src="http://portal/image/img.jpg"/>

    Алексей! можно чуток подробней, я попытался впихнуть код в новую форму, но что-то нет результата...

    вот несколько вопросов:

    1. в какую именно новую форму...? я сделал опрос прям в шарике, зашёл в него в дизайнере

    2. куда именно в коде? я воткнул перед

    </WebPart>
    </WebPartPages:ListFormWebPart>
    </ZoneTemplate></WebPartPages:WebPartZone>

    3. что такое JQuery?

    4. выбор поля писал куда?

    заранее спасибо.


    Мы сами не местные, коды писать не умеем :):):)

    • Помечено в качестве ответа igorsss 19 июня 2012 г. 13:20
    19 июня 2012 г. 8:50
  • 1. NewForm.aspx для списка опроса в sharepoint Designer

    2.

    <asp:Content ContentPlaceHolderId="PlaceHolderTitleAreaClass" runat="server">
    //Подключаем Jquery с оф сайта. Можно скачать и положить локально на сервер
    <script src="http://code.jquery.com/jquery-1.7.2.min.js"></script>
    </script>
    
    						<script>
    //Сам скрипт
    $(document).ready(function() {
    $(".ms-RadioText").parent().parent().parent().parent().css("position","relative").css("top","-50px");
    $(".ms-RadioText").each(function(){
    img =$(this).attr("Title");
    $(this).attr("Title","");
    $(this).find("label").html("");
    $(this).append(img);
    })
    });
    </script>
    
    </asp:Content>
    

    3. http://jquery.com/ (JavaScript библиотека)

    4.

    19 июня 2012 г. 9:57
  • Не притендую на правильность подобного решения. Надо было решить проблему быстро, вот и выкрутился. :)
    19 июня 2012 г. 10:58
  • ВСЁ РАБОТАЕТ!!! УРА!!

    <script src="http://code.jquery.com/jquery-1.7.2.min.js"></script> - здесь ссылку лучше писать без пробелов!

    </script> - это надо удалить, лишнее

    спасибо!

    • Изменено igorsss 19 июня 2012 г. 13:23
    19 июня 2012 г. 11:42
  • Не притендую на правильность подобного решения. Надо было решить проблему быстро, вот и выкрутился. :)

    Алексей! Добрый день! Попытался применить к опросу типа "Шкала оценок" - не получилось... что нужно изменить в коде, чтоб использовать со типом Шкала оценок?

    Мы сами не местные, коды писать не умеем :):):)

    9 октября 2012 г. 12:45
  • Варианты ответов записываем как и раньше:

    <img srv="url-путь до картинки" />

    И на форму вешаем такой скрипт:

    $(".ms-gridT1").each(function(){
    var newtext=$(this).html().replace("&lt;","<").replace("&gt;",">");
    $(this).html(newtext)
    });

    Не забываем подключить JQuery.
    9 октября 2012 г. 15:01
  • не сработало... картинки не появились

    Мы сами не местные, коды писать не умеем :):):)

    10 октября 2012 г. 7:42
  • Покажите скриншот опроса.

    10 октября 2012 г. 7:49
  • пожалуйста...

    скрин


    Мы сами не местные, коды писать не умеем :):):)

    10 октября 2012 г. 8:42
  • Вот кусок кода который у меня получился, на форме NewForm.aspx:

    <asp:Content ContentPlaceHolderId="PlaceHolderTitleAreaClass" runat="server">
    <script type="text/javascript" id="onetidPageTitleAreaFrameScript">
    //Это уже было. Привожу этот кусок, что бы показать целеком блок asp:content
    	if (document.getElementById("onetidPageTitleAreaFrame") != null)
    	{
    		document.getElementById("onetidPageTitleAreaFrame").className="ms-areaseparator";
    	}
    </script>
    <script src="http://code.jquery.com/jquery-1.7.2.min.js"></script>
    <script>
    $(document).ready(function(){
    $(".ms-gridT1").each(function(){
    var newtext=$(this).html().replace("&lt;","<").replace("&gt;",">");
    $(this).html(newtext)
    });
    });
    </script>
    </asp:Content>
    

    • Помечено в качестве ответа igorsss 10 октября 2012 г. 13:32
    10 октября 2012 г. 9:23
  • вот теперь всё получилось :):) спасибо большое...

    строчки не было этой ---> $(document).ready(function(){

    ещё одни вопросик тоже по скрипту этому... если его использовать для обычного списка (для дисплей форм списка, если точнее)... для уменьшения (маштабирования) изображения в поле Изображение/Гипперссылка (пример: фото контакта, фотки которые дают сотрудники приходится руками уменьшать иначе на весь монитор лезут... попытался прописать код уменьшения, он пишет неправильный адрес URL) ...


    Мы сами не местные, коды писать не умеем :):):)

    10 октября 2012 г. 13:29
  • Можно попробовать так:

    <script>
        $(document).ready(function () {
            $("#SPFieldURL img").each(function () {
                $(this).css("width", "150px").css("height", "auto");
            });
        });
    </script>

    Вообще в IE есть такая кнопка волшебная F12. Позволяет выбрать объекты HTML и просмотреть их свойства: CSS, ID, Class и т.п. И есть примочка для FireFox, называется FireBug. Позволят делать все тоже самое, плюс более простая правка css, html и javascript.
    • Помечено в качестве ответа igorsss 15 октября 2012 г. 9:03
    15 октября 2012 г. 6:12
  • Добрый день.

    Извиняюсь, что поднимаю старую тему, но... есть ли какие-либо отличия в применении этого кода для SharePoint 2013? Потому что у меня так и не работает ни с меню выбора ни со шкалой оценок.

    Может быть я просто что-то не так делаю?

    В SharePoint Designer открываю "Списки и библиотеки", там нахожу свой опрос и в форме NewForm.aspx

    в блоке 

    <asp:Content ContentPlaceHolderId="PlaceHolderTitleAreaClass" runat="server">

    добавляю код

    <script src="http://code.jquery.com/jquery-1.10.2.min.js"></script>
    <script>
    $(document).ready(function(){
    $(".ms-gridT1").each(function(){
    var newtext=$(this).html().replace("&lt;","<").replace("&gt;",">");
    $(this).html(newtext)
    });
    });
    </script>

    затем добавляю новый вопрос с типом "Шкала оценок" и качестве вариантов указываю

    <img src="http://sps2013/PublishingImages/boga_net.jpg"/>
    <img style="width:90%" src="http://sps2013/PublishingImages/akula.jpg"/>

    и в результате получаю

    В чём моя ошибка?

    P.S.: с SharePoint начал знакомство буквально 1-2 дня назад




    • Изменено nekalyan 25 сентября 2013 г. 6:23 mistake
    25 сентября 2013 г. 4:35
  • В SP 2013 скорей всего не сработает. Надо смотреть на HTML код страницы. И от этого уже "плясать" так сказать.

    $(".ms-gridT1").each

    перебирает все элементы с классом "ms-gridT1", надо посмотреть в элементе с каким классом лежит текст в SP2013.

    f12 в браузере в помощь.


    Лично я всегда использую консоль FireBug в Firefox.
    26 сентября 2013 г. 6:21
  • Спасибо Алексей за Ваше решение!!!

    очень помогло.

    так же , по Вашему примеру, добавил код на страницу summary.aspx

    <script>
    //Сам скрипт
    $(document).ready(function(){
    $(".ms-vb").each(function(){
    var newtext=$(this).html().replace("&lt;","<").replace("&gt;",">");
    $(this).html(newtext)
    });
    });
    </script>


    7 февраля 2014 г. 12:23
    Модератор
  • С самими ответами получилось, подскажите как зделать чтобы картинка отображалась в вопросе

    Спасибо

    1 апреля 2014 г. 7:02
  • что у Вас не получается? здесь рабочий код представлен.

    я правда для себя делал иначе, т.к. опрос содержал много картинок, мне SP не дал внести все варианты.

    сделал как описано в статье Include image in SharePoint survey 

    так же уменьшал картинку и делал ссылку на полный размер

    inputs[e1].innerHTML = inputs[e1].innerHTML.replace('Рисунок 01','<b><font size="4">Рисунок 01</font></b><br/><a target="_blank" href="http://portal/ChildrensImage/01.jpg"> <img style="; top: 50px; width: 200px;" src="http://portal/ChildrensImage/01.jpg" class="style1"/></a>');


    4 апреля 2014 г. 6:15
    Модератор
  • Коллеги, прошу вашей помощи: у меня ни в какую не получается поместить картинки в опрос.

    В форму NewForm.aspx добавляю:

    <script src="/jquery-1.7.2.min.js"></script>
    <script>
    $(document).ready(function(){
    $(".ms-RadioText").each(function(){
    var newtext=$(this).html().replace("&lt;","<").replace("&gt;",">");
    $(this).html(newtext)
    });
    });
    </script>

    Jquery положил локально на сервер, он виден (проверял путем подстановки в адресную строку соответствующего адреса - он скачивается без проблем).

    В самом опросе добавил:

    <img src="http://0700sps01/Info_HR/Rigt/PublishingImages/Foto/dollar.jpg" />

    В итоге в опросе следующая ситуация:

    Генерируется вот такой код:

    <span title="<img src="http://0700sps01/Info_HR/Rigt/PublishingImages/Foto/dollar.jpg" />" class="ms-RadioText">

    Мне кажется тут с синтаксисом что-то неверно, т.к. данный код вставляю в NotePad++ и он половину тегов неверно подсвечивает, не распознает их.





    22 июля 2014 г. 3:09
  • Евгений, а где именно лежит js? в корне сайта?

    предлагаю проверить работту  с сылкой на http://code.jquery.com/jquery-1.10.2.min.js

    еще можно посмотреть подключенные js через отладчик (f12 в IE)


    22 июля 2014 г. 17:57
    Модератор
  • Попробуйте такой код:

    <script src="/jquery-1.7.2.min.js"></script>
    <script>
      $(document).ready(function(){
        $(".ms-RadioText").each(function(){
          var newtext=$(this).attr("Title").replace("&lt;","<").replace("&gt;",">");
          $(this).attr("Title","");
          $(this).append(newtext);
        });
      });
    </script>
    Вообще лучше почитать про то как работает jQuery, тогда будет проще сделать.

    23 июля 2014 г. 6:43
  • Всем спасибо, опрос с картинками в SP 2010 заработал - проблема была в том, что неверно обращался к скачанной на локальный сервер библиотеке jquery :) т.е. не

    <script src="/jquery-1.7.2.min.js"></script>

    а

    <script src="../../jquery-1.7.2.min.js"></script>

    Но: начал делать аналогичные действия на SP 2013 (скопировал рабочий код) - картинки в опросе не появляются... Проверил: класс, где лежит текст, называется так же как и в 2010 - ".ms-RadioText", т.е. код менять вообще не пришлось.

    С библиотекой jquery теперь уже точно все в порядке (т.к. на предыдущем шаге уже набрался опыта). Выводится так:

    При этом просматриваю html-код страницы - и не вижу вставленного мной в NewForm.aspx js-кода...
    Тогда как в SP 2010 при просмотре кода страницы я вижу данный код.
    Такое ощущение, что в 2013 в другое место нужно код вставлять...

    Никто не сталкивался с 2013? А то я совсем уже в тупике: в 2010 работает, а в 2013 аналогичный код не работает...

    23 июля 2014 г. 7:27
  • Для проверки работает ли ваш JS код в принципе, можете добавить строки вида console.log("Ваше диагностическое сообщение");

    И потом в консоли их будет видно.

    Только когда закончите делать обязательно уберите их. IE любит падать с ошибкой если консоль не открыта, а выводы в нее пытаются идти.

    P.S.: Используйте консоль IE или Firefox или других браузеров, для отладки ваших скриптов. Можете все скрипты убрать (кроме включения jQuery), а потом уже в консоли пытаться получить результат:

    23 июля 2014 г. 8:30
  • Для проверки работает ли ваш JS код в принципе, можете добавить строки вида console.log("Ваше диагностическое сообщение");

    И потом в консоли их будет видно.

    Только когда закончите делать обязательно уберите их. IE любит падать с ошибкой если консоль не открыта, а выводы в нее пытаются идти.

    P.S.: Используйте консоль IE или Firefox или других браузеров, для отладки ваших скриптов. Можете все скрипты убрать (кроме включения jQuery), а потом уже в консоли пытаться получить результат:

    Проделал данную процедуру.
    В 2010 - в консоли увидел диагностическое сообщение, т.е. js-скрипт вызывается и отрабатывает.
    В 2013 0 в консоли не выдалось диагностическое сообщение! js-скрипт не вызывается и не отрабатывает, о чем я выше и писал (тогда ещё это как предположение было).

    Хотя данный js-скрипт вставляю в форму NewForm.aspx в то же место, в которое и в 2010-м...

    Форма нового элемента открывается не в диалоговом окне (в 2010 как раз в диалоговом окне открывается и адреса по сути не видно, т.к. окно всплывающее, все на заднем фоне затемняется), а на странице портала и адрес в строке:

    http://0700cresp2013-a/Info_HR/Rigt/Lists/TestOpros/NewForm.aspx?Source=http%3A%2F%2F0700cresp2013%2Da%2FInfo%5FHR%2FRigt%2FLists%2FTestOpros%2Foverview%2Easpx
    Вот и вопрос: куда данный js-скрипт вставлять, чтобы он вызывался и отрабатывал?
    24 июля 2014 г. 5:19
  • Коллеги, никто не реализовывал опрос с картинками в SharePoint 2013 SP1?
    25 июля 2014 г. 5:35
  • Только что вставил этот код в Office 365. Все работает.

    NewForm.aspx

    </SharePoint:UIVersionedContent>
    	<table class="ms-core-tableNoSpace" id="onetIDListForm">
    	 <tr>
    	  <td>
    	   <script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.0/jquery.min.js"></script>
        <script>
        $(document).ready(function(){...
    

    25 июля 2014 г. 6:51
  • Только что вставил этот код в Office 365. Все работает.

    NewForm.aspx

    </SharePoint:UIVersionedContent>
    	<table class="ms-core-tableNoSpace" id="onetIDListForm">
    	 <tr>
    	  <td>
    	   <script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.0/jquery.min.js"></script>
        <script>
        $(document).ready(function(){...

    Алексей, спасибо!

    Изначально я JS-код вставлял, как было описано выше, в раздел:

    <asp:Content ContentPlaceHolderId="PlaceHolderTitleAreaClass" runat="server">

    Я чувствовал, что код нужно в другое место вставить :)

    Ещё раз спасибо, картинки появились!

    25 июля 2014 г. 7:38