

Вопросы по работе с дополнительными действиями
#21 Гость_Roman_*
Отправлено 13 Февраль 2013 - 16:21
#22
Отправлено 13 Февраль 2013 - 16:28
#23
Отправлено 14 Февраль 2013 - 00:03
http://jsfiddle.net/...rtalik/pFHfc/4/
Все работает. Только его пытаюсь загнать в дополнительные действия, не работает. Копировал яваскрипт в поле вычислений яваскрипт, однако просмотр исходного кода дополнительного вычисления не показал его наличие. Далее попробовал засунуть все в вычисления пхп, однако тоже нет:
$sqlQuery = "SELECT `fio` FROM " . USERS_TABLE . " WHERE id = '" . addslashes($line['userID']) . "' LIMIT 1"; $result = mysql_query($sqlQuery) or die(mysql_error() . " <br /> " . $sqlQuery); $row2 = mysql_fetch_assoc($result); $sqlQuery = "SELECT `t1`.`id`, `t2`.`f561` as data FROM " . DATA_TABLE . "81 t2, ( SELECT `id`, `f621` as num FROM " . DATA_TABLE . "91 WHERE `f631` = 'Ожидание оплаты' AND `status` = 0 AND`f1101` = " . intval($line['userID']) . ") t1 WHERE `t2`.`id` = `t1`.num AND `t2`.`status` = 0"; $result = mysql_query($sqlQuery) or die(mysql_error() . " <br /> " . $sqlQuery); if (mysql_num_rows($result) > 0) { while ($row = mysql_fetch_assoc($result)) { $option .= "<option value='" . $row['id'] . "'>" . form_local_time($row['data']) . "</option>"; $ar[$row['id']] = $row['data']; } } else { $option = "<option value='0'>Нет заказов</option>"; } $form = " <!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.1//EN' 'http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd'> <html> <head> <script type='text/javascript' src='include/jquery/jquery.min.js'></script> <script type='text/javascript'> $('#line_sum').hide(); $('input[name=type_v]').bind('change', function(event) { var el = $('input[name=type_v]:checked').val(); switch(+el) { case 1: $('#line_sum').hide(); break; default: $('#line_sum').show(); break; } }); </script> <style type='text/css'> .td_1 { width: 180px; } .td_2 { width: 320px; } </style> </head> <body> <div id='w_head' style='background-color: #0075CE; width: 450px; height: 40px; padding: 20px;'> <span id='w_head_name' style='color: white; font-size: 30px; padding: 100px;'>NIK</span> </div> <form method='post'> <fieldset style='width: 480px; border-left: none; border-right: none; border-bottom: none; padding: 0px; padding-left: 10px; margin-top:20px;'> <legend>{$row2['fio']}</legend> </fieldset> <table style='margin-top: 20px;'> <tbody> <tr id='line_sum'> <td class='td_1'>Введите сумму, грн <span style='color: red;'>*</span>:</td> <td class='td_2'> <input id='sum' name='sum' style='width: 320px;' type='text' /> </td> </tr> <tr> <td class='td_1'>Дата заказа <span style='color: red;'>*</span>:</td> <td class='td_2'> <select size=1 name='data' id='select_data'>$option</select> </td> </tr> <tr> <td class='td_1'>Сделайте выбор <span style='color: red;'>*</span>:</td> <td class='td_2'> <input name='type_v' value='1' type='radio' checked='checked' />За заказ <br /> <input name='type_v' value='0' type='radio' />За вес <br /> <input name='type_v' value='2' type='radio' />За вес остатков <br /> <input name='type_v' value='3' type='radio' />Возврат на карту <br /> </td> </tr> <tr> <td colspan='2'> <p style='margin-top: 20px'> <span style='color: red;'>*</span> - поля, обязательные для заполнения</p> </td> </tr> <tr> <td colspan='2' align='right'> <input name='w_submit' id='w_submit' value='Выставить счет' style='padding: 5px;' type='submit' /> <input name='csrf' value='{$csrf}' type='hidden' /> </td> </tr> </tbody> </table> </form> </body> </html> "; echo $form; if (isset($_POST['w_submit'])) { $val = array('За вес', 'За заказ', 'За вес остатков', 'Возврат на карту'); if ($_POST['data'] == 0) { echo "<script>alert('Невозможно выставить счет для не существуещего заказа');</script>"; return; } if ($_POST['type_v'] == 1) { $sqlQuery = "SELECT `f711` as sum_opl_zakaz FROM " . DATA_TABLE . "91 WHERE `id` = " . intval($_POST['data']) . " LIMIT 1"; $result = mysql_query($sqlQuery) or die(mysql_error() . "<br />" . $sqlQuery); $row = mysql_fetch_assoc($result); $data_insert['Сумма, грн'] = form_eng_number($row['sum_opl_zakaz']); } else { $data_insert['Сумма, грн'] = form_eng_number($_POST['sum']); if (empty($_POST['sum'])) { echo "<script>alert('Необходимо указать сумму!');</script>"; return; } } $data_insert['Тип движения'] = "Снятие"; $data_insert['Связь'] = $line['ID']; $data_insert['id заказа'] = intval($_POST['data']); $data_insert['Примечания'] = $val[intval($_POST['type_v'])] . ", " . form_local_time($ar[intval($_POST['data'])]); insert_query($data_insert, "Движения в балансе"); echo " <script> "; echo "window.opener.location.reload(1);"; // Перезагружаем родительское окно echo "window.close();"; echo " </script> "; }
1. Как подключать внешние библиотеки (jquery)
2. Должен ли я в конце вычислений javasript возвращать true?
3. В чем моя ошибка в подключении кода?
#24 Гость_Roman_*
Отправлено 14 Февраль 2013 - 08:10
#25
Отправлено 14 Февраль 2013 - 16:27
Roman (14 Февраль 2013 - 08:10) писал:
$(function() { $('#line_sum').hide(); $('input[name=type_v]').bind('change', function(event) { var el = $('input[name=type_v]:checked').val(); switch(+el) { case 1: $('#line_sum').hide(); break; default: $('#line_sum').show(); break; } }); });
Спасибо за консультацию.
Сообщение отредактировал wondertalik: 14 Февраль 2013 - 16:32
#26
Отправлено 14 Февраль 2013 - 17:17
#27
Отправлено 14 Февраль 2013 - 18:45
wondertalik (14 Февраль 2013 - 17:17) писал:
echo "<script>if (confirm('ВЫ подтверждаете операцию?')) {"; echo "\n ..............здесь пишите код при подтверждении ....................}"; echo "\n window.close(); </script>";
Творческая группа "ТАВР".
www.TAVR.pro Художественная ковка, металлоконструкции.
www.СтолМет.рф Складные столы, стулья и системы для их хранения
#28
Отправлено 15 Февраль 2013 - 12:09
andibrag (14 Февраль 2013 - 18:45) писал:
echo "<script>if (confirm('ВЫ подтверждаете операцию?')) {"; echo "\n ..............здесь пишите код при подтверждении ....................}"; echo "\n window.close(); </script>";
#29
Отправлено 15 Февраль 2013 - 13:42
В строке, где пишите свой код, исполняемый при подтверждении можете сделать форму и передать, например через скрытое поле done, какой-нибудь параметр.
В начале кода дополнительного действия делаете проверку на наличие нужного значения в передаваемой переменной:
if (isset($_REQUEST["done"])) { ................ }else{ echo "<script>if (confirm('ВЫ подтверждаете операцию?')) {"; echo "\n"; echo "\n<body onLoad='document.f_done.submit()'>"; echo "\n<form name='f_done' method='post'>"; echo "\n<input type='hidden' name='id' value='$button_id'>"; // Передаем значение кнопки echo "\n<input type='hidden' name='done' value='yes'>"; // Передаем значение "выполнить" echo "\n</form>"; echo "\n</body>"; echo "\n}"; echo "\n window.close(); </script>"; }
Творческая группа "ТАВР".
www.TAVR.pro Художественная ковка, металлоконструкции.
www.СтолМет.рф Складные столы, стулья и системы для их хранения
#30
Отправлено 15 Февраль 2013 - 14:01
andibrag (15 Февраль 2013 - 13:42) писал:
В строке, где пишите свой код, исполняемый при подтверждении можете сделать форму и передать, например через скрытое поле done, какой-нибудь параметр.


#31
Отправлено 15 Февраль 2013 - 14:06
wondertalik (15 Февраль 2013 - 14:01) писал:


Творческая группа "ТАВР".
www.TAVR.pro Художественная ковка, металлоконструкции.
www.СтолМет.рф Складные столы, стулья и системы для их хранения
#33
Отправлено 15 Февраль 2013 - 14:18
wondertalik (14 Февраль 2013 - 17:17) писал:
В параметрах доп.действия есть специальное поле для яваскрипта, как раз для таких целей (вывод предупреждений при нажатии). Код в вашем случае следующий:
return confirm('Вы действительно это хотите сделать?');
Т.е. код должен вернуть true если доп.действие нужно выполнять и false - если нет (отмена). Городить огород с php смысла нет.
#34
Отправлено 15 Февраль 2013 - 14:30
CbCoder (15 Февраль 2013 - 14:18) писал:
return confirm('Вы действительно это хотите сделать?');
Т.е. код должен вернуть true если доп.действие нужно выполнять и false - если нет (отмена). Городить огород с php смысла нет.
Да но в этом случае, появляется диалог после нажатия на доп. действие. А мне нужно конфирм уже в всплывающем окне доп. действия, после нажатия submit с диалогом, например, "вы действительно хотите пополнить баланс на 600 руб", где 600р - введенное значение в форме пользователем.
#35
Отправлено 15 Февраль 2013 - 14:44
Количество пользователей, читающих эту тему: 4
0 пользователей, 4 гостей, 0 анонимных