2009-12-11 102 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