嘗試此javascript:
Html.TextBoxFor(型號=> model.Employee.Surname,新的{@onkeypress = 「CASEL(此,事件);」}
或
Html.TextBoxFor(模型=> model.Employee.Surname,新的{@onkeypress = 「情況下(這種);」}
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;
}
}
[改進版本](http ://jsfiddle.net/c5wCm/7/) – Raynos
+1這是一個改進版本。這不是完美的,但它肯定會作爲解決方案衝浪。唯一的問題是,它不會轉換外殼,直到我選擇下一行。 – arame3333
我個人不是表單字段的粉絲,因爲我在輸入內容時會改變我的值,除此之外,當Firefox的值比輸入的可見區域更長時,Firefox似乎會表現出奇怪的感覺,並顯示了值的開始反對carot的地方。 –