2016-05-22 10 views
1

文字の入力を許可する必要があります。また、各単語の最初の文字をjavascriptで大文字にする必要があります。私はkeypressで作業している最初のビットを持っています、私はonblurを動作させる2番目をしたい、しかし私はそれを動作させることはできません。それは私がそれ自身でそれを使用してもOKです。私はたくさんのことを試しましたが、私は何か小さいものを欠いているにちがいないでしょう、私はそれが何であるかを知ることができません。文字とスペースのみを許可して各単語を大文字にする

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> 

JAVASCRIPT

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();}); 
} 

例えば、あなたが入力の値を再割り当てする必要が

答えて

4

を支援してください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(); 
 
    }); 
 
}
<input type="text" name="first_names" onkeypress="return isAlfa(event)" onblur="this.value = toTitleCase(this.value)">

+0

パーフェクト、8分、歓声で答えを受け入れます – Kilisi

関連する問題