1
Сообщений в теме: 8
#1
Отправлено 13 Сентябрь 2016 - 11:46
Здравствуйте!
Какое значение у выпадающего списка поля типа "Связь" если оно не заполнено? Т.е. добавлена новая запись в таблицу и в одно из полей, у которого тип "Связь", не выбрано значение из списка, какое у него будет значение? Как проверить поле типа связь на пустое значение в JavaScript? Что вставить вместо ....
в строчке из кода display_field(13311, $('#value{$one_field.id}').val().....);, чтобы проверить поле связь на пустое значение?
Какое значение у выпадающего списка поля типа "Связь" если оно не заполнено? Т.е. добавлена новая запись в таблицу и в одно из полей, у которого тип "Связь", не выбрано значение из списка, какое у него будет значение? Как проверить поле типа связь на пустое значение в JavaScript? Что вставить вместо ....
в строчке из кода display_field(13311, $('#value{$one_field.id}').val().....);, чтобы проверить поле связь на пустое значение?
#2
Отправлено 13 Сентябрь 2016 - 12:40
Цитата
Какое значение у выпадающего списка поля типа "Связь" если оно не заполнено?
0 (ноль). В JavaScript тоже, насколько вижу через консоль. Если заполнено - соответственно id связанной записи.
#3
Отправлено 13 Сентябрь 2016 - 12:44
Спасибо
#4
Отправлено 13 Сентябрь 2016 - 16:50
CbCoder (13 Сентябрь 2016 - 12:40) писал:
0 (ноль). В JavaScript тоже, насколько вижу через консоль. Если заполнено - соответственно id связанной записи.
#5
Отправлено 14 Сентябрь 2016 - 09:12
Нет, это тоже самое. Первое значение как раз и соответствует нулю, т.е. отсутствию связи.
#6
Отправлено 14 Сентябрь 2016 - 11:10
Тогда что не так в этом вычислении:
Наименование товара - поле типа "Связь". Если в списке не выбрано ничего или выбран первый пустой элемент списка тогда делать одно, если что-то выбрано в списке (не 0 значение) делать другое. Но если выбрать 0 возникает ошибка: $line['Наименование товара']['raw'] или $line['Наименование товара']['id'] не содержит значения.
И ещё а разве оператор $line['Номенклатура'] = $row['nomID'] не должен сразу присваивать значение в поле Номенклатура (Номенклатура - поле типа "Связь"), у меня поле остаётся не изменённым.
if ($line['Наименование товара']=="0") { $line['Номенклатура'] = "0"; $data['Номенклатура'] = "0"; update_query($data, "Позиции заказа", "id=$ID"); } else { $result = data_select_field(781, "f9941 as nomID", "id=".$line['Наименование товара']['raw']); $row = sql_fetch_assoc($result); $line['Номенклатура'] = $row['nomID']; $data['Номенклатура'] = $row['nomID']; update_query($data, "Позиции заказа", "id=$ID"); }
Наименование товара - поле типа "Связь". Если в списке не выбрано ничего или выбран первый пустой элемент списка тогда делать одно, если что-то выбрано в списке (не 0 значение) делать другое. Но если выбрать 0 возникает ошибка: $line['Наименование товара']['raw'] или $line['Наименование товара']['id'] не содержит значения.
И ещё а разве оператор $line['Номенклатура'] = $row['nomID'] не должен сразу присваивать значение в поле Номенклатура (Номенклатура - поле типа "Связь"), у меня поле остаётся не изменённым.
Сообщение отредактировал CbCoder: 14 Сентябрь 2016 - 11:46
#7
Отправлено 14 Сентябрь 2016 - 11:50
if ($line['Наименование товара']=="0") - так писать нельзя, поля связи являются массивами. Правильно - if ($line['Наименование товара']['raw']=="0")
#8
Отправлено 14 Сентябрь 2016 - 12:06
Сработало на такую строку if ($line['Наименование товара']['raw']=='').
А с этим как быть?
Разве оператор $line['Номенклатура'] = $row['nomID'] не должен сразу присваивать значение в поле Номенклатура (Номенклатура - поле типа "Связь"), у меня поле остаётся не изменённым.
Можно ли присвоить (в вычислении) какое-либо значение любому полю находясь в режиме редактирования записи, чтобы результат можно было видеть сразу (т.е. можно было воспользоваться этим новым значением поля), а не увидеть результат присвоения после сохранения записи и последующего перехода в просмотр? Или это JavaScript`ом нужно делать?
А с этим как быть?
Разве оператор $line['Номенклатура'] = $row['nomID'] не должен сразу присваивать значение в поле Номенклатура (Номенклатура - поле типа "Связь"), у меня поле остаётся не изменённым.
Можно ли присвоить (в вычислении) какое-либо значение любому полю находясь в режиме редактирования записи, чтобы результат можно было видеть сразу (т.е. можно было воспользоваться этим новым значением поля), а не увидеть результат присвоения после сохранения записи и последующего перехода в просмотр? Или это JavaScript`ом нужно делать?
Сообщение отредактировал AMudroff: 14 Сентябрь 2016 - 13:38
#9
Отправлено 14 Сентябрь 2016 - 17:33
Любые вычисления работают после сохранения записи и соответственно перезагрузки страницы. Исключение - подтаблицы, там сохранение данных идет по ajax, поэтому результат можно увидеть сразу или спустя пару секунд, без перезагрузки.
Количество пользователей, читающих эту тему: 2
0 пользователей, 2 гостей, 0 анонимных