Всплывающие окна с вопросами
#21
Отправлено 22 Апрель 2014 - 19:38
Даже получается))) Вообще круто)))))
И тут вроде как последний вопрос по этой теме))))
А как в итоге вывести два поля, то есть опять будет какой-то вопрос,если ответили да-то эти два поля видим и заполняем их..
Сообщение отредактировал Dinara: 22 Апрель 2014 - 20:31
#22
Отправлено 23 Апрель 2014 - 10:18
#23
Отправлено 23 Апрель 2014 - 10:30
#24
Отправлено 23 Апрель 2014 - 11:02
#25
Отправлено 23 Апрель 2014 - 14:18
function submit_func() { field_value = document.getElementById('value13521').value; if (field_value == "Третий этап") { res = confirm("Перевести на Четвертый этап?"); if (res == true) { ( document.getElementById("value13601").value = 'Четвертый этап'); } else { alert("Карточка сохранена с Третьим этапом") } } } addHandler(document.getElementById("edit_form"), "onsubmit", submit_func);
В правилах доступа прописала, чтобы когда статус=Четвертый этап-тогда откроется поле сумма и дата оплаты для заполнения.
Здесь в коде получается если нажимают на Да-то меняется на четвертый этап. Как прописать, чтобы если статус сменился на 4ый-тогда карточка не сохранится-будет предупреждающее сообщение типа
{ alert("Заполните поля сумма и дата оплаты") }то есть условие то будет типа
if ((document.getElementById("value13611").value=="") or (document.getElementById("value13621").value==""))Пока не понимаю как указать что не сохранится карточка пока эти поля пустые..
Сообщение отредактировал Dinara: 23 Апрель 2014 - 14:18
#26
Отправлено 23 Апрель 2014 - 14:40
CbCoder (22 Апрель 2014 - 10:17) писал:
Хотя правильнее все же не "в конце" (так всегда будет отменять), а в нужном месте кода, например при нужном вам условии.
if (условие) return false;
Только имейте ввиду, что после этого участка код ниже исполняться не будет (если условие выполнено), т.к. произойдет выход из функции (т.е. возврат результата - по английски "return")
if (условие) return false; // тут код ниже, который уже не выполнится, если условие верно и произошел return
Это конечно общеизвестно для любого программиста, но т.к. вы не проф. программист, предупреждаю.
#27
Отправлено 23 Апрель 2014 - 14:49
#28
Отправлено 23 Апрель 2014 - 14:51
( document.getElementById("value13601").value = 'Четвертый этап');
document.getElementById("value13601").value = 'Четвертый этап';
#29
Отправлено 23 Апрель 2014 - 16:03
Получилось вроде как,только вопрос возник-а в JS как соединять условия IF?
То есть есть код
function submit_func() { if (document.getElementById('value13611').value=="") { alert("Заполните поле суммы") return false; } else { alert("Поле суммы заполнено") } } addHandler(document.getElementById("edit_form"), "onsubmit", submit_func);Но мне нужно что-то вроде
if ( (document.getElementById('value13611').value=="") and (document.getElementById('value13613').value=="Четвертый этап"))Но в этом случае не срабатывает(
Со скобочками кстати тоже заметила, что разницы нет есть они или нет,начала их убирать)
#30
Отправлено 23 Апрель 2014 - 17:26
#31
Отправлено 23 Апрель 2014 - 20:18
Сейчас работающие коды формата
function submit_func() { if (document.getElementById('value13521').value=="Третий этап") { res = confirm("Перевести на Четвертый этап?"); if (res == true) { document.getElementById("value13601").value = "Четвертый этап"; document.getElementById('value13521').value="Четвертый этап"; } else { alert("Карточка сохранена с Третьим этапом") } } } addHandler(document.getElementById("edit_form"), "onsubmit", submit_func);и уже проверка на заполнение полей при четвертом этапе
function submit_func() { if (((document.getElementById('value13621').value=="") && (document.getElementById('value13601').value=="Четвертый этап")) || ((document.getElementById('value13611').value=="") && (document.getElementById('value13601').value=="Четвертый этап"))) { alert("Заполните поля даты и суммы") return false; } else { alert("Заполнено") } } addHandler(document.getElementById("edit_form"), "onsubmit", submit_func);Только получается так, что поле Статус может меняться с 1 на 2,потом на 3 и сразу на 4ый (там будут постоянные вопросы при сохранении) и вот когда ставится четвертый этап-поля Сумма (value13621) и Дата оплаты (value13611) должны появиться и идет проверка второго кода на их заполнение.
ПРописывать то их нужно примерно такого формата
if (document.getElementById('value7').value=="Регистрация, настройка ПО") display_field({$one_field.id}, 1);А вот куда ее вставить,и при изменении поля или при сохранении-пока не могу придумать..(
#32
Отправлено 24 Апрель 2014 - 11:40
#33
Отправлено 24 Апрель 2014 - 11:44
Сообщение отредактировал Dinara: 24 Апрель 2014 - 11:58
#34
Отправлено 24 Апрель 2014 - 12:50
#35
Отправлено 24 Апрель 2014 - 13:16
Я же там выше указала 2 кода, получается в первом нужно прописать отображение этих полей когда сменили на 4 этап?Сработает ли оно там?
#36
Отправлено 24 Апрель 2014 - 13:49
Сообщение отредактировал Dinara: 24 Апрель 2014 - 13:49
#37
Отправлено 24 Апрель 2014 - 14:07
Вдруг кому понадобится такое-копирую сюда коды
function submit_func() { if (document.getElementById('value13521').value=="Нулевой") { res = confirm("Перевести на первый этап?"); if (res == true) { ( document.getElementById("value13601").value = 'Первый этап'); { res1 = confirm("Перевести на второй этап?"); if (res1 == true) { ( document.getElementById("value13601").value = 'Второй этап'); { res2 = confirm("Перевести на третий этап?"); if (res2 == true) { ( document.getElementById("value13601").value = 'Третий этап'); { res3 = confirm("Перевести на четвертый этап?"); if (res3 == true) { document.getElementById("value13601").value = "Четвертый этап"; document.getElementById('value13521').value="Четвертый этап"; } else { alert("Карточка сохранена с третьим этапом") } } } else { alert("Карточка сохранена с вторым этапом") } } } else { alert("Карточка сохранена с первым этапом") } } } else { alert("Карточка сохранена с нулевым этапом") } } else if (document.getElementById('value13521').value=="Первый этап") { res = confirm("Перевести на Второй этап?"); if (res == true) { ( document.getElementById("value13601").value = 'Второй этап'); { res1 = confirm("Перевести на третий этап?"); if (res1 == true) { ( document.getElementById("value13601").value = 'Третий этап'); { res2 = confirm("Перевести на четвертый этап?"); if (res2 == true) { document.getElementById("value13601").value = "Четвертый этап"; document.getElementById('value13521').value="Четвертый этап"; } else { alert("Карточка сохранена с третьим этапом") } } } else { alert("Карточка сохранена с вторым этапом") } } } else { alert("Карточка сохранена с первым этапом") } } else if (document.getElementById('value13521').value=="Второй этап") { res = confirm("Перевести на Третий этап?"); if (res == true) { ( document.getElementById("value13601").value = 'Третий этап'); { res1 = confirm("Перевести на Четвертый этап?"); if (res1 == true) { document.getElementById("value13601").value = "Четвертый этап"; document.getElementById('value13521').value="Четвертый этап"; } else { alert("Карточка сохранена с Третьим этапом") } } } else { alert("Карточка сохранена с Вторым этапом") } } else if (document.getElementById('value13521').value=="Третий этап") { res = confirm("Перевести на Четвертый этап?"); if (res == true) { document.getElementById("value13601").value = "Четвертый этап"; document.getElementById('value13521').value="Четвертый этап"; } else { alert("Карточка сохранена с Третьим этапом") } } } addHandler(document.getElementById("edit_form"), "onsubmit", submit_func);
По 4 этапу (если на 4-проверка заполненности полей суммы и даты оплаты)
function submit_func() { if (((document.getElementById('value13611').value=="") && (document.getElementById('value13601').value=="Четвертый этап")) || ((document.getElementById('value13621').value=="") && (document.getElementById('value13601').value=="Четвертый этап"))) { alert("Заполните поля даты и суммы") return false; } } addHandler(document.getElementById("edit_form"), "onsubmit", submit_func);
И вычисление которое либо обнуляет поля, либо копирует в контрагента (условие для срабатывания-при изменения поля суммы или даты оплаты)
if ($line['Статус']=="Четвертый этап") { $data['Сумма'] = $line['Сумма']; $data['Дата оплаты'] = $line['Дата оплаты']; update_query($data,"Контрагенты","id='{$line['Компания']['ID']}'"); } else { $line['Сумма'] = ""; $line['Дата оплаты'] = ""; }
#38
Отправлено 28 Апрель 2014 - 11:46
#39
Отправлено 28 Апрель 2014 - 12:12
#40
Отправлено 28 Апрель 2014 - 12:27
Количество пользователей, читающих эту тему: 2
0 пользователей, 2 гостей, 0 анонимных