Question

In a form, I have two buttons to transform text to uppercase and lowercase. I am using this function to transform input text to upper case:

document.xyz.textinput.value=document.xyz.textinput.value.toUpperCase()

Now, I want to add a new button to capitalize each word. Is it possible to achieve this with the following code?

document.xyz.textinput.value=document.xyz.textinput.value.capitalize()

Thanks

Was it helpful?

Solution

Try This:

document.xyz.textinput.value = document.xyz.textinput.charAt(0).toUpperCase() + document.xyz.textinput.slice(1);

If you want a capitalize functions, See here.

OTHER TIPS

CSS has some text-transform properties too: https://developer.mozilla.org/en/CSS/text-transform

If that isnt an option, you can simply split your string by each whitespace and capitalize that word.

String.prototype.capitalize = function (strSentence) {
        return strSentence.toLowerCase().replace(/\b[a-z]/g, convertToUpper);

        function convertToUpper() {
            return arguments[0].toUpperCase();
        }
}

Use this:

"hello world".capitalize();  // "Hello World"
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top