在我的MVC应用程序中,我有一些名称字段,我想确保第一个字母是大写字母,其余的是小写字母。 没问题,你可以使用它; Html.TextBoxFor(model => model.Employee.Surname,new {style =“text-transform:capitalize;”}
这有两个问题; 1 /保存数据时,必须再次转换文本。 CSS不会转换基础数据,只会转换您在屏幕上看到的数据。 2 /我的老板第一次决定尝试我的屏幕,她习惯性地使用大写字母作为这种形式。所以她想要一个文本转换来强制从第二个字母开始的下部外壳。所以,如果她打字SMITH她想看史密斯。 我想知道如何做到这一点。如果每次按键都需要客户端事件来进行此转换。
答案 0 :(得分:1)
这样的事情应该有效:
$(function() {
$(".field").blur(function() {
$(this).val( $(this).val().substr(0,1).toUpperCase() + $(this).val().substr(1).toLowerCase());
});
});
jsFiddle:http://jsfiddle.net/c5wCm/5/
答案 1 :(得分:-2)
试试这个javascript:
Html.TextBoxFor(model => model.Employee.Surname,new {@onkeypress =“caseL(this,event);”}
或
Html.TextBoxFor(model => model.Employee.Surname,new {@onkeypress =“caseS(this);”}
function caseL(obj, evt) {
/*
A lazy word capitaliser.
e.g onKeypress="caseL(this,event);"
*/
var iLen;
var key;
iLen = obj.value.length;
if (navigator.appName == 'Netscape') {
key = evt.charCode;
if ((key == 0) && (evt.which == 13)) {
//Enter key so suppress
evt.preventDefault();
}
} else {
key = window.event.keyCode;
if (key == 13) {
//Enter key so suppress
window.event.cancelBubble = true;
window.event.returnValue = false;
}
}
if ((iLen == 0) || (obj.value.charAt(iLen - 1) == " ") || (obj.value.charAt(iLen - 1) == "-")) {
if ((key > 0x60) && (key < 0x7B)) {
if (navigator.appName == 'Netscape') {
key = key - 0x20;
var newEvent = document.createEvent("KeyEvents")
newEvent.initKeyEvent("keypress", true, true, document.defaultView, evt.ctrlKey, evt.altKey, evt.shiftKey, evt.metaKey, 0, String.fromCharCode(key).charCodeAt(0))
evt.preventDefault()
evt.target.dispatchEvent(newEvent)
} else {
window.event.keyCode = key - 0x20;
}
}
}
}
function caseS(obj){
/*
A strict word capitaliser.
e.g onKeypress="caseS(this);"
*/
var iLen;
iLen=obj.value.length;
key = window.event.keyCode;
if((iLen>0)&&(obj.value.charAt(iLen-1)!=" ")&&(obj.value.charAt(iLen-1)!="-")){
if ((key > 0x40) && (key < 0x5B))
window.event.keyCode = key+0x20;
return true;
}
if ((iLen==0)||(obj.value.charAt(iLen-1)==" ")||(obj.value.charAt(iLen-1)=="-")){
if ((key > 0x60) && (key < 0x7B))
window.event.keyCode = key-0x20;
}
}