2016-08-24 50 views
-2

我怎样才能改变使用jQuery/JavaScript的文本框的值获得提交表单前(按钮点击之前),当用户键入(。):改变文本框的值转换为大写分隔每个单词的第一个字母

will.smith到will.Smith

我用下面的代码只将它转换大写(整个字符串):记住

$('input[type=text]').val (function() { 
    return this.value.toUpperCase(); 
}) 

饲养我不想使用CSS视觉去改变它。

我希望有人能给我一个相同的想法。

+6

请显示您尝试过的代码。 – RJM

+0

@RJM Plz再次检查我的帖子:) ...希望你能帮我弄明白这一点 – 3MRAN

+3

可能重复[大写首字母变量](http://stackoverflow.com/questions/5122402/uppercase-first-letter -of-variable) – yuriy636

回答

5
textBox.value = textBox.value.split('.').map(function(word) { 
    return word[0].toUpperCase() + word.substr(1); 
}).join('.'); 

或者因为你使用jQuery:

$('input[type=text]').val(function() { 
    return this.value.split('.').map(function(word) { 
    return word[0].toUpperCase() + word.substr(1); 
    }).join('.'); 
}); 

我不知道你想用价值来做什么?但我认为你明白了。

另外,为了安全起见,你可以做一些类似word.substr(1).toLowerCase()这将确保只有第一个字母大写。

+0

我需要怎样处理这个值,我想确认表单在被提交之前,无论用户输入什么值,都应该将其转换为exp:Will.Smith在文本框中 – 3MRAN

+0

我认为你可以做一些像this.value = this.value.split('.......'。这将更新文本框的文本内容。 –

+0

感谢您的详细解答。还有一件事,我可以使上面的代码在用户输入文本框时得到执行,或者你认为不可行? – 3MRAN

相关问题