Функция c_Common_SetOnBlur()
Описание
c_Common_SetOnBlur(p_Element, p_form, p_FieldName, p_RequestFileName[, p_rewrite=false, p_func=function(){}, p_rewritezero=false])
Назначение обработчика события onblur поля.
Обычно применяется для назначения обработчика изменения lookup-полей для того, чтобы изменить значения связанных полей.
При добавлении новой записи событие вызывается немедленно при его назначении и далее вызывается каждый раз при изменении значения. Если открыта существующая запись, то событие при его назначении не вызывается и срабатывает только при изменении поля.
Параметры
p_Element — элемент формы.
p_form — форма.
p_FieldName — название (id) элемента формы.
p_RequestFileName — имя php-файла, содержащего обработчик события. Обработчик в php-файле определяется в блоке
FieldOnChange. При этом в php-файл передаются следующие параметры.- _func =
FieldOnChange— название обработчика. - _p_FieldName — название поля, которое изменяется.
- _p_FieldValue — его значение.
Этот обработчик должен возвращать значения связанных полей в стандартном формате конфигурации.
- _func =
p_rewrite — перезаписывать ли значение элемента, если он уже содержит значение.
p_func — функция Javascript, которая должна быть вызвана после работы обработчика.
p_rewritezero — перезаписывать ли значение элемента даже в том случае, если он содержал ранее значение, а новое значение &mdash пустое.
Результат
Функция не возвращает значения.
Пример
//******************************************************************** // Скрипт карточки раздела "Проекты" //******************************************************************** var c_Project_ScriptFileName = '/config/sections/Project/c_project.php'; //Инициализация карточки function c_project_init(p_wnd_id) { ... var l_form = document.getElementById(p_wnd_id).getElementsByTagName("form")[0]; c_Common_SetOnBlur(l_form.ContactID, l_form, 'ContactID', c_Project_ScriptFileName, false, function() { c_project_AccountID_onblur(l_form); } ); ... } //Изменение компании ведет к изменению названия проекта function c_project_AccountID_onblur(p_card) { var l_tire = (p_card.AccountID.value == '') || (p_card.Number.value == '') ? '' : ' - '; p_card.Name.value = p_card.Number.value + l_tire + p_card.AccountID.value; }
В этом примере при изменении поля Контакт (ContactID) формы l_form вызывается функция Project_FieldOnChange() в файле c_Project_ScriptFileName. Эта функция возвращает значения связанных полей (в данном случае вернет значение поля Компания). При этом, если в карточке проекта поле Компания уже заполнено, то оно не будет перезаписано. После этого будет вызвана функция c_project_AccountID_onblur(). Она изменит название заказа по умолчанию.
Смотрите также
c_Common_SetOnChange— назначение обработчика события onchange поля.
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
-
