четверг, 26 марта 2015 г.

Кнопки "Утвердить" и "Отклонить" в ItemForm с помощью jQuery

Сегодня я расскажу, как добавить кнопки «Утвердить» и «Отклонить» в место стандартной кнопки «Save» и заполнять поле типа Choice требуемым значением.
выглядеть будет в итоге так

Задача была следующая, реализовать форму в которой есть кнопки позволяющие задать значение "Утверждено" или "Отклонено", при этом при отклонении было доступно поле "Комментарии"


Изначально форма вот такая


Первое что нам понадобится, это добавить свои кнопки и скрыть стандартную

Потом скрываем поле «comment»


Потом добавим свои функции для заполнения поля Choice
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
function Approved()
{
 //alert('утверждено')
 jQuery("select[id^='Choice']").val("Утверждено");
 jQuery("[id^='comment']").closest('tr').hide();
 jQuery("input[id$='iidIOSaveItem']").click();
 
}
function Rejected()
{
 //alert('не утверждено')
 jQuery("select[id^='Choice']").val("Отклонено");
 jQuery("[id^='comment']").closest('tr').show();
 jQuery("input[id$='iidIOSaveItem']").click();
 
}

итоговый скрипт

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
$(document).ready(function() {
 // добавляем свои кнопки
 var customButton =  '<div>
'+  
      '
 
<table style="width: 100%;"><tbody>
<tr><td align="right" style="padding: 2px; width: 100%;">'+
        '<button class="btn btn-default" onclick="Rejected()" type="button">'+
         '<span aria-hidden="true" class="glyphicon glyphicon-remove"></span> Отклонить'+
        '</button>'+
       '</td><td align="right" style="padding: 2px; width: 100%;">'+
        '<button class="btn btn-success" onclick="Approved()" type="button">'+
         '<span aria-hidden="true" class="glyphicon glyphicon-ok"></span> Утвердить'+
        '</button>'+
       '</td></tr>
</tbody></table>
</div>
';
 jQuery("table.ms-formtable").next().before(customButton);
  
 //скрываем страндартную
 jQuery("[id$='diidIOSaveItem']").hide();
  
 //скрываем поле
 jQuery("[id^='comment']").closest('tr').hide();
 
 
}
);
 
 
function Approved()
{
 //alert('утверждено')
 jQuery("select[id^='Choice']").val("Утверждено");
 jQuery("[id^='comment']").closest('tr').hide();
 jQuery("input[id$='iidIOSaveItem']").click();
 
}
function Rejected()
{
 //alert('не утверждено')
 jQuery("select[id^='Choice']").val("Отклонено");
 jQuery("[id^='comment']").closest('tr').show();
 jQuery("input[id$='iidIOSaveItem']").click();
}
}

В дальнейшем поле Choice можно скрыть от пользователей
вот и все,
надеюсь будет полезно

Комментариев нет:

Отправить комментарий