Вопросы по работе с дополнительными действиями
#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
Количество пользователей, читающих эту тему: 1
0 пользователей, 1 гостей, 0 анонимных













