2009-12-11 106 views
1

我有一个函数,其中包含用于表单字段验证的消息。不过,我希望拥有默认消息,但也可以稍后从不同的功能(即时)添加自定义消息。我尝试了一些使用PHP和扩展类,并添加更多的消息和建设的JavaScript,但我不是很高兴这样做。JavaScript在变量中扩展对象

function msg_text(fieldV){ 

msg = { 
    "required":{     
     "alertText":"* This field is required" 
    }, 
    "length":{ 
     "alertText":"* minimum 6 characters " 
    }, 
    "numeric":{ 
     "alertText":"numbers and * only<br />minimum 3 characters" 
    }, 
    "email":{ 
     "alertText":"* Invalid email address" 
    }, 
    "no_space":{ 
     "alertText":"* Is Required <br /> * Space not allowed" 
    } 
} 

return msg[fieldV].alertText; //returns alert message 

}

回答

0
 
    var my{}; 

function createFunctions() 
{ 
    var msg = {/*messages*/}; 


    my.getMessage = function(key) 
    { 
     return msg[key]; 
    } 

    my.addMessage = function(key, message) 
    { 
     msg[key] = message 
    } 

    my.deleteMessage = function(key) 
    { 
     delete msg[key]; 
    } 
} 
+0

谢谢您的回答。如果密钥不在var msg中,my.addMessage似乎不起作用。但是,如果var msg中存在相同的密钥,则它会起作用并替换该消息。我试过这个: msg [key] .alertText = message; – Chris 2009-12-11 13:15:29

+0

我已经想通了。此代码适用于我: msg [key] = {“alertText”:message}; – Chris 2009-12-11 13:30:50