Функция 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 — его значение.

    Этот обработчик должен возвращать значения связанных полей в стандартном формате конфигурации.

  • 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 поля.

Навигация