2009-12-14 52 views
0

我有一個名稱爲MakeInitialCapital的函數。我想提供控件名稱作爲參數,並且該控件中的文本必須轉換爲初始資本。以用戶提供的控件名稱作爲初始資本

如何修改這段JavaScript代碼:

function MakeInitialCapitalControl(controlName) 
{ 
    TextInControl = getElementByID(controlName).value; 
    return str.toLowerCase().replace(/\b[a-z]/g, cnvrt); 
function cnvrt() { 
    return arguments[0].toUpperCase(); 
} 

編輯:

還有一兩件事,如果文本已經有Intials資本,使其成爲小寫。

回答

3

假設你的代碼的其餘部分的工作,你需要指定的值,而不是返回它:

function MakeInitialCapitalControl(controlName) 
{ 
    var ctrl = getElementByID(controlName); 
    ctrl.value = ctrl.value.toLowerCase().replace(/\b[a-z]/g, function { 
     return arguments[0].toUpperCase(); 
    }); 
} 

編輯

至於在你編輯的請求......這是一個相當奇怪的要求。你確定你想要在同一個功能?它會做幾乎完全相反的功能名稱暗示。不過哦:

function MakeInitialCapitalControl(controlName) 
{ 
    var ctrl = getElementByID(controlName); 

    if(/^[A-Z]/.test(ctrl.value)) { 
     ctrl.value = ctrl.value.toLowerCase(); 
     return; 
    }   

    ctrl.value = ctrl.value.toLowerCase().replace(/\b[a-z]/g, function { 
     return arguments[0].toUpperCase(); 
    }); 
} 
相關問題