2013-03-15 3 views
1

TextBox 시작 부분에 공백을 입력하지 못하도록 제한해야하는 경우가 있습니다. TextBox에서 공간 항목을 제한 할 수 있습니다. 그러나 첫 번째 위치에서 허용하지 않는 것에 대한 단서가 없습니다.jquery/javascript를 사용하여 텍스트 상자의 첫 번째 위치에 공백을 넣지 마십시오.

JavaScript 또는 jQuery를 사용하는 솔루션을 찾고 있습니다. 어떤 도움을 주시면 감사하겠습니다.

+2

트림 방법을 실행하면됩니다. 사용자가 입력을 중지하고 서버에서 정리하면 정리하십시오. – epascarello

+0

jQuery에는 공백을 제거하는 메서드가 있습니다.'$ .trim ('your.string') ' –

+0

누군가가 링크 나 스 니펫을 공유 할 수 있습니까? –

답변

10

keypress 이벤트 솔루션 :

$("input").on("keypress", function(e) { 
    if (e.which === 32 && !this.value.length) 
     e.preventDefault(); 
}); 

DEMO :http://jsfiddle.net/pdzBy/

+0

고마워. 비전. 거의 내 일을하고있어. 한가지 더. 문자열 끝 부분의 공간도 제한 할 수 있니? –

+0

@MilindAnantwar이 접근법에서는 입력하는 동안 마지막으로 어느 공간을 확인할 수 없기 때문에이 방법은 효과가 없습니다. – VisioN

+0

당신이 제안 할 수있는 다른 대안이 있습니까? –

1

jQuery를 사용하는 경우 trim 메소드를 호출하면됩니다.

$.trim(' Hello World!'); // -> 'Hello World' 

참고 : 이렇게하면 문자열의 시작과 끝에서 모든 공백 문자가 제거됩니다. 여기

는 버튼을 사용하여 데모입니다 : http://jsfiddle.net/3Enr4/

1

내가 시도했지만 첫 번째로 커서를 뭔가를 쓰고 이동 한 후 편지는 거기에 공간을 허용합니다. 이 솔루션은 텍스트 상자의 시작 부분에 공백 문자를 입력 할 수 없습니다.

$("input").on("keypress", function(e) { 
    var startPos = e.currentTarget.selectionStart; 
    if (e.which === 32 && startPos==0) 
     e.preventDefault(); 
}); 
관련 문제