2013-02-14 3 views
0

다음 코드를 사용하여 입력란에 입력 한 첫 글자를 대문자로 사용하고 있습니다. 문제는 다른 텍스트 상자로 탭 한 다음 다시 탭하여 무언가를 입력하면 거기에있는 내용을 지우지 않습니다. 입력 한 내용이 추가됩니다.텍스트 상자의 첫 글자를 대문자로 사용하는 문제

이 문제를 해결할 수 있습니까?

$(function() { 
    $('.userBox').on('DOMAttrModified textInput input keypress paste focus', 
     function (e) { 
     $(this).val($(this).val().slice(0, 1).toUpperCase() + 
       $(this).val().slice(1)); 
     }); 
}); 

데모 : 난 그냥 입력 필드의 내용이 삭제됩니다 다른 기능에 초점을 결합하는 것 http://jsfiddle.net/VBXbz/8/

+0

는 대문자, 또는 대문자 것처럼 단지 제시 할 필요가 있는가 ? 또한 : '텍스트 상자'(그러한 요소는 없습니다), 텍스트 입력 (또는'type = text'의'input')이거나'textarea '입니다. 프레젠테이션의 경우 항상 CSS가 있습니다.'textarea : first-letter {text-transform : uppercase; }'. –

+0

나는 css text-transforms를 사용할 것이지만 대문자로 된 서버 끝이 필요하다. –

+1

그런 다음 서버 측 또는 'form' 제출 이벤트에서 대문자로 시작하십시오. 그것은 더 쉽습니다 (그리고 그 시점에서 사용자가 조작 할 수있는 것 이상). –

답변

0

. 좋아요 :

$('.userBox').on('focus', function (e) { 
    $(this).val(""); 
}); 

다음은 본질적으로 http://jsfiddle.net/KWRef/입니다.

내가 원하는 부분을 놓치지 않았다면?

1
<script type="text/javascript" language="javascript"> 
    function Capitalize(id) { 
     var txt = document.getElementById(id); 
     txt.value = txt.value.replace(/\w\S*/g, function (txt) { return txt.charAt(0).toUpperCase() + txt.substr(1).toLowerCase(); }); 
    } 
</script> 

Sarath의 @ F1을

관련 문제