绑定用户单击以实例化对象

时间:2012-04-10 20:48:29

标签: javascript oop

我像这样运行我的界面,m1只抓取elementById并将onclick属性设置为函数名。

因为我想“实例化一个对象”,所以我创建了一个名为

的公共静态方法
 ControlSignIn.interface

然后创建并调用我的对象:

new ControlSignIn().invoke();

这是最好的做法吗?

Min.m1( 'signin_button', ControlSignIn.interface );

符:

var ControlSignIn = function( ) 
{
    var form_element = document.getElementById( 'signin' ); 
    var response_element = document.getElementById( 'signin_response' ); 
    var text_object = new Text( form_element );
    var message_object = new Message( response_element );

    this.invoke = function( ) 
    {
        if( Global.validate_input_on === 1 )
        {
            if( !text_object.checkEmpty() ) 
            {
                message_object.display( 'empty' );
                return false;
            }
            if( !text_object.checkPattern( 'email' ) ) 
            {
                message_object.display( 'email' );
                return false;
            }
            if( !text_object.checkPattern( 'pass' ) ) 
            {
                message_object.display( 'pass' );
                return false;
           }
        }
        AjaxNew.repeatUse( ajaxSerialize( form_element ) + '&ajax_type=signin_control', function( server_response_text ) { ajaxType( server_response_text, response_element, 'respond' ); } );
    }
};

ControlSignIn.interface = function()
{
    new ControlSignIn().invoke();
};

1 个答案:

答案 0 :(得分:0)

嗯。那里有很多全局对象。无论语言如何,耦合太多。

ControlSignIn.interface = function()
{
    new ControlSignIn().invoke();
};

不确定为什么要创建ControlSignIn的新实例然后调用其方法。另外,像调用一样分配给原型。不确定为什么你需要这种方法才是诚实的。

说实话,我对你想要做的事情有一个微弱的想法(这是某种形式验证,对吗?)但是它完全令人费解,我甚至不知道从哪里开始。