$(document).keypress(function(e) {
if (e.keyCode == 13)
e.preventDefault();
});
----------------------------------------------------------------------------
form 문에 input 이 1개만 존재하는 경우,
input 안에 엔터 문자가 들어오면 submit 이 자동으로 실행된다고 하네요(w3 HTML 스펙).
<form>
<input name="content" id="content" />
</form>
상기 form 문의 content 에 프롬프트가 있고 키보드에서 엔터를 눌렀을 때 submit 되지 않게 않게 하려면..?
아래 코드와 같이 키값이 엔터일 때 return false; 를 하면 되겠군요.
return false 가 아니라 return 을 하는 경우 화면이 Refresh 되어서 입력된 값이 없어져요.. ㅋ
만약 form 문이 하나라면 $('form').keypress(...) 라고 하면 되겠지만, form 문이 여럿일 수도 있잖아요.
<script>
$(document).ready(function(){
$('#content').keypress(function(e){
if(e.keyCode==13) return false;
});
});
</script>
엔터를 누를 때 content 값이 없으면 메시징하고, 값이 있으면 무언가 작업하게 하려면..?
아래 코드와 같이 코드를 추가하는데.. functionB 가 2번 실행.. ㅠ.
<script>
$(document).ready(function(){
$('#content').keypress(function(e){
if(e.keyCode==13){
if($(this).val()==''){
alert('내용을 입력해 주세요. ');
return false;
}else functionB(); // functionB 가 submit 을 통제하는 함수라면..
}
});
</script>
위와 같이 하면 functionB() 가 실행되고 다시 submit 이 호출되기 때문에
return false 는 아래와 같이 e.keyCode 가 엔터인지 확인하는 문장 마지막에 기술.
<script>
$(document).ready(function(){
$('#content').keypress(function(e){
if(e.keyCode==13){
if($(this).val()=='') alert('글을 입력해 주세요. ');
else functionB();
return false;
}
});
});
'Local Oriented > jQuery' 카테고리의 다른 글
jquery 플러그인, http://www.sticklr.net/ (0) | 2014.04.14 |
---|---|
jQuery 구조와 기능 (0) | 2014.03.27 |
jQuery UI 에서 draggable 과 droppable 사용시, "'data(...).options'은(는) null 이거나 개체가 아닙니다." 메시지가 나온다면.. (3) | 2014.02.10 |
event properties 가 Chrome 에선 작동하지 않네요, 적어도 jquery-1.8.3 에선.. (0) | 2014.02.10 |
Flick 기능을 PC 와 스마트폰 양쪽에서 적용 (0) | 2013.06.14 |