View_messages "класс"


/**
 *    View_message
 *    Object Model
 */ 

var View_message = function(div)
{
    this.div = document.getElementById(div); 
};

View_message.prototype.messages = 
{ 
    empty: 'Please complete all fields',
    empty_bm: 'Please enter both a title and url',
    name: 'Only letters or dashes for the name field',
    email: 'Please enter a valid email',
    same: 'Please make emails equal',
    taken: 'Sorry that email is taken',
    pass: 'Please enter a valid password, 6-40 characters',
    validate: 'Please contact <a class="d" href="mailto:support@host.com">support</a> to reset your password',
    url:  'Pleae enter a valid url'
}; 

View_message.prototype.display = function(type) 
{
    this.div.innerHTML = this.messages[type];
};

И призыв

obj_view = new View_message('test_id');
obj_view.display('empty');


127
0
задан 22 ноября 2011 в 01:11 Источник Поделиться
Комментарии
1 ответ

Я верю, что вы усложнять вещи. Объявление прототипа, не сделает ваш код более надежным или даже быстрее. Я уверен, что вы знаете, но на самом деле что-то вроде ниже код будет легче читать, эффективнее и быстрее.

/**
* View_message
* Object Model
*/
var ViewMessage = function(div) {
this.div = document.getElementById(div);

this.messages = {
empty: 'Please complete all fields',
empty_bm: 'Please enter both a title and url',
name: 'Only letters or dashes for the name field',
email: 'Please enter a valid email',
same: 'Please make emails equal',
taken: 'Sorry that email is taken',
pass: 'Please enter a valid password, 6-40 characters',
validate: 'Please contact <a class="d" href="mailto:support@host.com">support</a> to reset your password',
url: 'Pleae enter a valid url'
};

this.display = function(type) {
this.div.innerHTML = this.messages[type];

return this;
};

return this;
};

Затем два способа сделать это:

var view = new ViewMessage('divID');
view.display('email');

Или

var view = new ViewMessage('divID').display('email');

2
ответ дан 22 ноября 2011 в 11:11 Источник Поделиться