2014-02-05 1 views
0

У меня есть метод проверки для поля формы электронной почты, который вызывается в событии onchange поля и устанавливает фокус на поле, если проверка не пройдена:Dynamics CRM 2011/13 - Повторное событие onChange в поле формы, когда пользователь не вносил изменений

function ValidateEMail(event) { 

    var source = event.getEventSource(); 
    var value = source.getValue(); 
    var re = /^(([^<>()[\]\\.,;:\[email protected]\"]+(\.[^<>()[\]\\.,;:\[email protected]\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/igm; 

    if (value == '' || !re.test(value)) 
    { 
     Xrm.Utility.alertDialog('Bitte geben Sie eine gültige E-Mail Adresse ein', null); 
     Xrm.Page.getControl(event.getEventSource().getName()).setFocus(true); 
     return false;  
    } 
} 

}

проблема заключается в том, что OnChange событие не выстрелил еще раз, если фокус покидает поле в следующий раз, и пользователь didn't внести какие-либо изменения. К сожалению, нет никакого события lostFocus, которое я мог бы использовать вместо этого. У вас есть предложения по его решению?

ответ

0

У вас есть несколько вариантов:

  1. REVALIDATE OnSave и блок сохранения, если поле не является действительным
  2. Очистить поле (набор на нуль) и сделать необходимо.
  3. Вызовите изменение изнутри, чтобы подтвердить электронную почту, но вставьте условие, чтобы избежать бесконечного цикла.
  4. Используйте текстовое поле типа электронной почты и пусть crm сделает это для вас.
  5. Использование JQuery и добавить привязки к потерял фокус события
0

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

Установка опции форматирования в «Электронная почта» позволит проверить на стороне пользователя ввод пользователя в поле без необходимости в JavaScript.

Here is a reference в опции формата, доступные для типа данных с одной строкой текста в Dynamics CRM.

 Смежные вопросы

  • Нет связанных вопросов^_^