Форум программистов, компьютерный форум, киберфорум
Наши страницы
JavaScript
Войти
Регистрация
Восстановить пароль
 
reccos07
0 / 0 / 2
Регистрация: 20.02.2017
Сообщений: 9
#1

Передать параметр для запроса - JavaScript

23.03.2017, 10:14. Просмотров 105. Ответов 0
Метки нет (Все метки)

Доброго времени суток, подскажите кто знает, будьте добры:
Есть форма списка накладных (Список накладных.html), в данной форме функция LoadInvoiceList() посылает POST запрос на сервер, в ответ получает JSON массив с накладными и выводит список накладных в таблицу:

Функция LoadInvoiceList() в форме Список накладных.html
Javascript
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
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
<script type="text/javascript">
 function LoadInvoiceList()
 
    {
        MHTTP.Request(
                {
                    method: "POST",
                    uri: uriMain + "/Control/Invoice/API/GetListInvoice",
                    hashParameter:
                    {
                        count: 100,
                        countAll: 1,
                        errorId: -1,
                        listColumnNameGet:"",
                        sort:"dateTime DESC"
                    },
                    OnLoadFunction: function(responseText)
                    {
                        j = JSON.parse(responseText);
                        //alert(j.listRow[0]) ;
                        // alert();
 
                        if(j.errorId != -1)
                        {
                            alert("Ошибка: " + j.errorTitle);
                            return;
                        }
 
                        var html = '<table id="myTable"  class="table table-hover"><thead><tr>', k,e;
                                 //Шапка основной таблицы с пунктами
                        html += '<th style="text-align: center">' +'№'+'</th>';
                        html += '<th style="text-align: center">' +'Дата'+'</th>';
                        html += '<th style="text-align: center">' +'№ документа'+'</th>';
                        html += '<th style="text-align: center">' +'Вес нового товара'+'</th>';
                        html += '<th style="text-align: center">' +'Сумма документа'+'</th>';
                        html += '<th style="text-align: center">' +'Магазин'+'</th>';
                        html += '</tr>';
                        html+='</thead>';
 
                        for(k = 0; k < j.listRow.length; ++k)
                        {
                        e = j.listRow[k];
                        console.debug(e);
 
                        html += '<tbody>';
                        html += '<tr onclick="location.href=";>';
                        html += '<td style="text-align: center">'+ MString.ToHTML(String(e[0])) +'</td>';
                        html += '<td style="text-align: center">'+ MString.ToHTML(String(e[2])) +'</td>';
                        html += '<td style="text-align: center">'+ MString.ToHTML(String(e[3])) +'</td>';
                        html += '<td style="text-align: center">'+ MString.ToHTML(String(e[13])) +'</td>';
                        html += '<td style="text-align: center">'+ MString.ToHTML(String(e[10])) +'</td>';
                        html += '<td style="text-align: center">'+ MString.ToHTML(String(e[21])) +'</td>';
                        html += '</tr>';
                        }
                        html += '</tbody>';
                        html += '</table>';
 
                        document.getElementById("InvoiceList").innerHTML = html;
                    }
                });
 
    }
 
 
</script>
как дописать что бы :
1) в таблице строки накладных выводились в виде ссылок
2) по нажатию на накладную в таблице(ссылку), в форму в функцию LoadInvoice() (список пунктов накладной.html), передавался параметр id - PrimaryKey для формирования запроса вида (http://сервер/Control/Invoice/API/GetListItem?invoicePrimaryKey=2,0) это необходимо в целом для того что бы по клику на накладную загружались пункты только этой накладной.
На сервере функции уже написаны для отправки клиенту JSON массива

функция разбора и вывода пунктов накладной
Javascript
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
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
function LoadInvoice()
 
    {
        MHTTP.Request(
                {
                    method: "POST",
                    uri: uriMain + "/Control/Invoice/API/GetListItem",
                    hashParameter:
                    {
                        count: 100,
                        countAll: 1,
                        errorId: -1,
                        listColumnNameGet:"id,article,title,weightFact, kindCost",
                        sort:"id"
                    },
                    OnLoadFunction: function(responseText)
                    {
                        j = JSON.parse(responseText);
                        //alert(j.listRow[0]) ;
                        // alert();
 
                        if(j.errorId != -1)
                        {
                            alert("Ошибка: " + j.errorTitle);
                            return;
                        }
 
                        var html = '<table id="grid" class="table table-hover"><thead><tr>', k, q, e1=j.listRow, n, e, ar, countTMC= 0, count = 0, Sum=0;
                                 //Шапка основной таблицы с пунктами
                        html += '<th data-type="string" style="text-align: center">' +'№'+'</th>';
                        html += '<th style="text-align: center">' +'Арт.'+'</th>';
                        html += '<th data-type="number" style="text-align: center">' +'Номенклатура'+'</th>';
                        html += '<th style="text-align: center">' +'Вес в накладной'+'</th>';
                        html += '<th style="text-align: center">' +'Вес на мешке'+'</th>';
                        html += '<th style="text-align: center">' +'Вес по факту'+'</th>';
                        html += '</tr>';
                        html+='</thead>';
 
                        for(k = 0; k < j.listRow.length; ++k)
                        {
                           // alert(j.listRow[k].indexOf( 'ТМЦ' ) != -1 );  //работает
                           if (j.listRow[k].indexOf( "ТМЦ" ) != -1)
                              {
                                        ar= j.listRow[k];
                                        countTMC= countTMC+1;
                              }
                           else
                              {
                                        n= j.listRow[k];
 
                              }
                            count= count+1;
                            e = j.listRow[k];
                            Sum=Sum+parseInt(e[0]);
                           // console.debug(n);
                            console.debug(countTMC);
 
                        html += '<tr>';
 
                        for(q = 0; q < 4; ++q)
                        html += '<td style="text-align: left">'+ MString.ToHTML(String(n[q])) +'</td>';
                        html += '<td style="text-align: center">'+ '<input type="text"  onkeyup="checkParams()" class="form-control"  placeholder="введите вес" />'+'</td>';
                        html += '<td style="text-align: center">'+ '<input type="text" onkeyup="checkParams()" class="form-control"  placeholder="введите вес" />'+'</td>';
                        html += '</tr>';
                        }
                        /// разбор массива с сервера и перевод в HTML
                        console.debug(count);
                        html += '<th colspan="3"  style="text-align: center" >'+'Итого'+'</th>';
                        html += '<th style="text-align: center" >'+'По накладной'+'</th>';
                        html += '<th style="text-align: center" >'+'На мешках'+'</th>';
                        html += '<th style="text-align: center" >'+'По факту'+'</th>';
                        html += '<tr>';
                        html += '<td colspan="3" style="text-align: center" >'+'Товар-'+ count +' место'+'</td>';
                        html += '<td style="text-align: center">'+Sum+'</td>';
                        html += '<td style="text-align: center">'+Sum+'</td>';
                        html += '<td style="text-align: center">'+'...'+'</td>';
                        html += '</tr>';
                        html += '</table>';
 
                        document.getElementById("InvoiceItem").innerHTML = html;
 
 
 
 
                        var htmlF = '<table class="table table-hover"><thead><tr>';
                        //Шапка основной таблицы с пунктами
                        htmlF += '<th style="text-align: center">'+'№'+'</th>';
                        htmlF += '<th style="text-align: center">'+'Арт.'+'</th>';
                        htmlF += '<th colspan="3" style="text-align: center">'+'ТМЦ'+'</th>';
                        htmlF += '<th style="text-align: center">'+'Кол-во/Вес'+'</th>';
                        htmlF += '</tr>';
                        htmlF +='</thead>';
 
                        for(k = 0; k < j.listRow.length; ++k)
                        {
                            // alert(j.listRow[k].indexOf( 'ТМЦ' ) != -1 );  //работает
                            if (j.listRow[k].indexOf( "ТМЦ" ) != -1)
                            {
                                ar= j.listRow[k];
                                for(q = 0; q < ar.length; ++q)
                                htmlF += '<td style="text-align: left">'+ MString.ToHTML(String(ar[q])) +'</td>';
                                htmlF += '<td style="text-align: center">'+ '<input type="text" class="form-control" id="a1" onkeyup="checkParams()"  placeholder="введите вес" />'+'</td>';
                                htmlF += '</tr>';
 
                            }
 
                        }
                        htmlF += '<tr>';
                        htmlF += '<td colspan="6" style="text-align: center">'+'<textarea class="form-control" name = "event" id = "comment"  rows = "5" placeholder="Комментарий:"></textarea>'+'</td>';
                        htmlF += '</tr>';
                        htmlF += '<tr>';
                        htmlF += '</tr>';
                        htmlF += '</table>';
 
                        document.getElementById("FTable").innerHTML = htmlF;
                    }
                });
 
    }
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.03.2017, 10:14
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Передать параметр для запроса (JavaScript):

Как в гиперссылке передать параметр для формы с базой
Так никто и не подсказал. Наверное никто не знает? Подскажите, как в...

Передать параметр
Здравствуйте. Такая проблема: Мне нужно в select.php передать значение...

Передать параметр в getElementById
Доброго времени суток! Есть меню на CSS и функция, при срабатывании которой...

Не удается передать параметр на сервер
В браузере формируется переменная &lt;script type=&quot;text/javascript&quot;&gt;var...

JS: Передать параметр в командную строку
На предприятии есть программа для управления компьютерами - лаунчер, в него...

Не получается передать параметр в функцию
Подскажите, пожалуйста, хочу сделать так чтобы при наджатии кнопки фон страницы...

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.03.2017, 10:14
Привет! Вот еще темы с решениями:

Как передать параметр в другое окно?
Добрый день. Возникла такая проблема: У меня на странице есть ссылка &quot;Добавить...

Как в функцию передать параметр строку?
&lt;script&gt; function loadXMLDoc(&quot;ПАРАМЕТР СТРОКА&quot;) { // &quot;ПАРАМЕТР СТРОКА&quot; ...

Передать метод как параметр функции
Добрый день. Есть такое:var a = object.next(); а также var a = object.prev();...

не знаю как передать правильно параметр
&lt;input type=&quot;image&quot; src=&quot;img/good.png&quot; name=&quot;button&quot; value=&quot;aiRsh0t794658=good&quot;...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru