Всплывающие окна с вопросами
#1
Отправлено 22 Апрель 2014 - 08:39
Из контрагента добавляем комментарий посредством дополнительного действия.
Необходимо-после того как нажали на сохранить-будет всплывающее окно с вопросами.
Пример-сейчас статус "Нулевой", задается вопрос и два варианта ответа-Да и Нет. Если нажимают нет-остается нулевой этап. Если нажимают Да-Этап контрагента меняется на Первый этап и задается следующий вопрос с Да и Нет. и там такой же принцип, если Нет-остается на первом этапе, если Да-переходит на 2ой..и так далее..
Можно ли такое реализовать?
#3
Отправлено 22 Апрель 2014 - 09:58
Забыла указать важную деталь-если четвертый этап-там уже нужно заполнить 2 поля..Это тоже реально?
#4
Отправлено 22 Апрель 2014 - 10:04
#5
Отправлено 22 Апрель 2014 - 10:09
#6
Отправлено 22 Апрель 2014 - 10:17
function submit_func() { // Функция по событию "сохранение записи" ("отправка формы", "submit") // тут ваши действия } addHandler(document.getElementById("edit_form"), "onsubmit", submit_func);
Добавляете в JS любого поля.
Если функция должна отменять отправку формы (например, что-то не то ввели), то в ее конце должно быть return false;
#7
Отправлено 22 Апрель 2014 - 11:01
А как можно соединить confirm с условиями?
Например-если Статус=Нулевой, тогда задается вопрос. Если нажимают ОК-то следующий вопрос,а статус в контрагенте меняется на=Первый этап (Потом опять вопрос и та же схема если ОК или отмена), если ОТМЕНА-то карточка просто сохраняется,статус не меняется.
if ( ($line['Компания']['Статус']="Нулевой") (confirm("Соответствует ли телефон указанной организации?")) //если нажимает "Да"-то следующий вопрос, а статус="Первый этап" { (confirm("Интересны ли государственные заказы данной организации?")) }
#8
Отправлено 22 Апрель 2014 - 12:35
#9
Отправлено 22 Апрель 2014 - 12:55
field_value = document.getElementById('value13521').value; if (field_value == "Нулевой")Вот так правильно писать будет? А как все-таки совместить с confirm?
#10
Отправлено 22 Апрель 2014 - 13:24
field_value = document.getElementById('value13521').value; if (field_value == "Нулевой") res = confirm("Соответствует ли телефон указанной организации?"); if (res == true) ... // если ответ "OK" то ... и так далее
#11
Отправлено 22 Апрель 2014 - 13:31
field_value = document.getElementById('value13521').value; if (field_value == "Нулевой") { (confirm("Перевести на первый этап?"))Вот так прописывать могу?
Не могу придумать как правильно прописать :
Если ответили ОК-то поменять значение в контрагенте и следующий вопрос задать..value13521 это то поле в комментариях в которых я работаю..
Хочется понять)
#12
Отправлено 22 Апрель 2014 - 13:33
field_value = document.getElementById('value13521').value; if (field_value == "Нулевой") { res = confirm("Перевести на первый этап?"); } if (res == true) ... // если ответ "ОК", то ...
#13
Отправлено 22 Апрель 2014 - 13:37
#14
Отправлено 22 Апрель 2014 - 13:41
#15
Отправлено 22 Апрель 2014 - 15:09
Что-то теперь только у меня пропадают вообще кнопки для сохранения))
Код примерно так
function submit_func() {//начало функции field_value = document.getElementById('value13521').value; if (field_value == "Нулевой") { // Для нулевого этапа { res = confirm("Перевести на первый этап?"); } if (res == true) { // Переводим на первый этап статус у контрагента (?) alert("Если результат тру1-проверка!") // { // res2 = confirm("Перевести на второй этап этап?"); // } // if (res2 == true) // Переводим на первый этап статус у контрагента // { alert("Если результат тру1-проверка!") } } elseif (res == false) {alert("Карточка сохранена с нулевым этапом")} } } //конец фукнции addHandler(document.getElementById("edit_form"), "onsubmit", submit_func);
Сообщение отредактировал Dinara: 22 Апрель 2014 - 15:10
#16
Отправлено 22 Апрель 2014 - 15:32
Например, в JS нет конструкции elseif. В вашем случае он вообще не нужен, достаточно else т.к. это и будет false, там других вариантов не существует.
И старайтесь отступы делать внутри блока в фигурных скобках, так код легче читать, соответственно опечаток меньше.
if (условие) { // код внутри блока с отступом в 2 пробела if (условие внутри блока) { // здесь уже 4 пробела, т.к. блок внутри блока } }
#17
Отправлено 22 Апрель 2014 - 16:03
function submit_func() {//начало функции field_value = document.getElementById('value13521').value; if (field_value == "Нулевой") { // Для нулевого этапа { res = confirm("Перевести на первый этап?"); } if (res == true) { alert("Если результат тру1-проверка!") } else { alert("Карточка сохранена с нулевым этапом") } } } //конец фукнции addHandler(document.getElementById("edit_form"), "onsubmit", submit_func);Чтото у себя редактирую-скидываю,а тут криво(
Эм,в консоли..
кстати,когда скинула код-у себя и сменила как раз elseif на else=)
Сообщение отредактировал Dinara: 22 Апрель 2014 - 16:07
#18
Отправлено 22 Апрель 2014 - 16:34
function submit_func() { field_value = document.getElementById('value13521').value; if (field_value == "Нулевой") { res = confirm("Перевести на первый этап?"); if (res == true) { alert("Если результат тру1-проверка!") } else { alert("Карточка сохранена с нулевым этапом") } } } addHandler(document.getElementById("edit_form"), "onsubmit", submit_func);
Это тот же абсолютно код, но формализованный как я советовал. Как видите, читается гораздо нагляднее. Даже без комментариев (код стал "самодокументируемым")
#19
Отправлено 22 Апрель 2014 - 17:45
Да уж,действительно,сейчас все ок,видимо совсем со скобками лишку переставила...
А если нужно поменять значение поля в связанной таблице (Контрагент.Статус) ?
#20
Отправлено 22 Апрель 2014 - 17:57
Количество пользователей, читающих эту тему: 1
0 пользователей, 1 гостей, 0 анонимных