Kil*_*isi 1 html javascript forms input
我只需要允许输入字母,我还需要使用 javascript 将每个单词的第一个字母大写。我有第一个在按键上工作,我想要第二个在 onblur 上工作,但我无法让它工作。如果我单独使用它,它可以正常工作。我尝试了很多东西,但我一定错过了一些小东西,我就是不知道它是什么。
HTML
<tr>
<td>
<input type="text" name="first_names" onkeypress="return isAlfa(event)" onblur="toTitleCase()">
</td>
<td>
<input type="text" name="last_names" onkeypress="return isAlfa(event)" onblur="toTitleCase()">
</td>
</tr>
Run Code Online (Sandbox Code Playgroud)
爪哇脚本
function isAlfa(evt) {
evt = (evt) ? evt : window.event;
var charCode = (evt.which) ? evt.which : evt.keyCode;
if (charCode > 32 && (charCode < 65 || charCode > 90) && (charCode < 97 || charCode > 122)) {
return false;
}
return true;
}
function toTitleCase(str)
{
return str.replace(/\w\S*/g, function(txt){return txt.charAt(0).toUpperCase() + txt.substr(1).toLowerCase();});
}
Run Code Online (Sandbox Code Playgroud)
请协助
您需要重新分配输入的值,例如onblur="this.value = toTitleCase(this.value)":
function isAlfa(evt) {
evt = (evt) ? evt : window.event;
var charCode = (evt.which) ? evt.which : evt.keyCode;
if (charCode > 32 && (charCode < 65 || charCode > 90) && (charCode < 97 || charCode > 122)) {
return false;
}
return true;
}
function toTitleCase(str) {
return str.replace(/\w\S*/g, function(txt) {
return txt.charAt(0).toUpperCase() + txt.substr(1).toLowerCase();
});
}Run Code Online (Sandbox Code Playgroud)
<input type="text" name="first_names" onkeypress="return isAlfa(event)" onblur="this.value = toTitleCase(this.value)">Run Code Online (Sandbox Code Playgroud)