Источник:
http://ms-dynamics-crm.com.ua/2009/0...notifications/
==============
Обычно, чтобы предупредить пользователя о чем-то, используют алерты, но это не всегда удобно, можно пользоваться своими уведомлениями:

пользовательские уведомления
как, например, это по умолчанию сделано в CRM:

Например, при создании продукта
Marco Amoedo предложил код, который можно использовать для вставки своих уведомлений. Вот пример:
/*============== addNotification function =============Adds a warning message on the top of the entity form usingthe same visual style as Microsoft CRMParams: message to be shown to the user=======================================================*/addNotification = function(message) { var notificationHTML = '
' + message + '
'; var notificationsArea = document.getElementById('Notifications'); if (notificationsArea == null) return; notificationsArea.innerHTML += notificationHTML; notificationsArea.style.display = 'block';}/*============= END addNotification function ===========*///Example of utilizationsaddNotification('Пример уведомления');
А
Dejan Dular быстро добавил туда разные типы уведомлений:
/*============== addNotification function =============
Parameters:
message - message to be shown to the user
messageType - Type of the message: 1 - critical, 2 - info, 3 - warning
notificationId - ID of the notification (needed for updating purposes)
Created by:
Marco Amoedo (http://marcoamoedo.com) - the idea and initial function
Dejan Dular (http://a-crm.blogspot.com) - upgraded functionality (different icons, updating and deleting notifications)
=======================================================*/
addNotification =
function(message, messageType, notificationId){
var notificationsArea = document.getElementById(
'Notifications');
if (notificationsArea ==
null) {
//Don't display message when deleting a notification. if (messageType != 4) {
//Sorry. Notifications are not possible on this form. //Display a message box instead of notification. alert(message); }
return; }
var notificationDIV = document.getElementById(
'NotificationDiv_' + notificationId);
//Delete the notification if (messageType == 4) {
if (notificationDIV !=
null) {
//Remove the notification notificationsArea.removeChild(notificationDIV); }
return; }
//Get the notification image. The default is info image. var notificationImage;
switch (messageType) {
case 1: notificationImage =
'/_imgs/error/notif_icn_crit16.png';
break;
case 2: notificationImage =
'/_imgs/error/notif_icn_info16.png';
break;
case 3: notificationImage =
'/_imgs/error/notif_icn_warn16.png';
break;
default: notificationImage =
'/_imgs/error/notif_icn_info16.png'; }
//Create notification var notificationTable =
'
' + message +'';
//Check if the notification with same ID already exists if (notificationDIV ==
null) {
//Create a new notification var notificationHTML =
'' + notificationTable + '
'; notificationsArea.innerHTML += notificationHTML; notificationsArea.style.display =
'block'; }
else {
//Update the notification. notificationDIV.innerHTML = notificationTable; }}
/*============= END addNotification function ===========*/Эта функция добавляется на событие Onload, а ее вызов можно делать там, где вам нужно.
addNotification(string message, int messageType, string notificationId)Параметры:
message -Текст уведомления
messageType - Тип уведомления (1-critical, 2-info, 3- warning, 4-delete the notification)
notificationId - строка с информацией. Если фунция будет вызвана позже с существующим notificationId, уведомление будет обновлено.
Источник:
http://ms-dynamics-crm.com.ua/2009/0...notifications/