问题描述
|
在我的MVC应用程序中,我有一些名称字段,我想确保第一个字母为大写字母,其余字母为小写字母。
没问题,只要使用这个即可。
Html.TextBoxFor(model => model.Employee.Surname,new {style = \“ text-transform:capitalize; \”}
好吧,这有两个问题。
1 /保存数据时,必须再次转换文本。 CSS不会转换基础数据,只会转换您在屏幕上看到的数据。
2 /我的老板决定第一次尝试我的屏幕,她习惯用大写字母表示这种形式。因此,她希望进行文本转换以迫使下一个字母从第二个字母开始。因此,如果她键入SMITH,那么她想见史密斯。
我想知道如何做到这一点。如果看起来像需要每次击键的客户端事件以进行此转换。
解决方法
这样的事情应该起作用:
$(function() {
$(\".field\").blur(function() {
$(this).val( $(this).val().substr(0,1).toUpperCase() + $(this).val().substr(1).toLowerCase());
});
});
jsFiddle:http://jsfiddle.net/c5wCm/5/
, 试试这个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,document.defaultView,evt.ctrlKey,evt.altKey,evt.shiftKey,evt.metaKey,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;
}
}