묻고답하기
확장변수 관련해서 한가지만 더 물어볼께요 ;;;
2013.01.07 21:06
안녕하세요?
요즘따라 확장변수에 관해서만 연달아 질문올리네요;;;
아직 프로그래밍 언어쪽은 생소해서 구글이나 네이버 등지에서 최대한 정보를 얻으려고 해도 정확한 정보를 얻을 수가 없어서 송구스럽게 다시한번 확장변수에 관해서 질문올립니다;;; 친절히 한번만 더 봐주세요 ㅜ_ㅜ;;;
송동우 님께서 올려주신 해결방법에 따라 조건별로 확장변수의 글자수 길이조절은 정상적으로 동작을 합니다. 여기에 한가지 더 해서 숫자만 입력가능하게 해보려고 과거 묻고답하기게시물에서 송동우 님께서 올려주신 확장변수 숫자 입력만 가능하게 해주는 코드를 더해봤는데요 (송동우님 여러모로 감사드립니다..)
if($this->eid=="age")
{
$buff .=' <input type="text" name="'.$column_name.'" value="'.$value.'" class="text" onKeyPress="var code=(window.event)?event.keyCode:event.which; if((code < 48)||(code > 57)) {return false;}else {return true;}" maxlength="5" />';
}
else
{
$buff .=' <input type="text" name="'.$column_name.'" value="'.($value ? $value : $default).'" class="text" />';
}
우선 동작자체는 아무런 문제없이 잘 되는데, 키보드 입력을 한글로 변환하고 치게되면 텍스트 입력란에 한글이 입력이되네요. 영문 알파벳은 코드에 의해 블락되서 입력자체가 안되는데 한글은 입력이 됩니다. 한글도 영문처럼 블락해서 숫자만 입력가능하게 할 수 있나요? if(code) 부분의 숫자를 여러방법으로 바꿔봤는데 변화되는 건 없고 code 값을 높게 잡으면 영문 알파벳까지 입력됩니다.
해결방법 아시는 고수님 계시면 넓은 아량으로 한번만 더 봐주세요;;;
감사합니다.
댓글 7
-
LI-NA
2013.01.07 21:14
-
genosaid
2013.01.07 21:21
안녕하세요 Li-Na 님,
빠른 답변 정말 감사드려요.
가르쳐주신 코드 두개 모두 사용해봤는데 여전히 한글 문자 블락은 안되네요;;;
첫번째 코드는 숫자와 한글 입력이 가능하고 두번째 코드는 숫자 한글 영문 모두 입력이 가능합니다.
영문입력과 더불어 한글입력도 블락해 숫자만 입력가능하게 할 수 있을까요?
-
LI-NA
2013.01.07 21:49
음...;; 저도 잘 모르겠네요.
HTML5라면 number을 사용하면 될텐데 말이죠...
구글에서 한번 검색해보세요.
https://www.google.co.kr/search?q=input+%EC%88%AB%EC%9E%90%EB%A7%8C+%EC%9E%85%EB%A0%A5%EB%B0%9B%EA%B8%B0&oq=input+%EC%88%AB%EC%9E%90%EB%A7%8C+%EC%9E%85%EB%A0%A5%EB%B0%9B%EA%B8%B0&aqs=chrome.0.59j61j59j60l3.7993&sugexp=chrome,mod=7&sourceid=chrome&ie=UTF-8
-
송동우
2013.01.07 21:49
style="IME-MODE:disabled"
이것 추가해 보세요.....
-
genosaid
2013.01.07 22:13
LI-NA 님 송동우 님, 두분 모두 답변 정말 감사드립니다.
지금 여러 브라우저로 테스트 해봤는데 style="ime-mode:disabled" 코드가 익스플로러와 Fire Fox 에서는 잘 작동하는데 크롬에서는 먹히질 않네요. 아마 크롬에서 코드를 인식하지 못하는것 같습니다. 이 문제에 대해서 구글쪽에 이메일을 보내봐야겠어요.
두분 다시한번 모두 감사드리고요, 모두 친절히 도와주셨는데 LI-NA 님 답변이 먼저 올라와서 LI-NA 님 답변으로 채택할께요.
다시한번 송동우님 LI-NA 님 정말 감사드리고요, 추운데 모두들 감기 조심하세요.
-
송동우
2013.01.07 22:26
http://www.xpressengine.com/qna/21305384
링크의 네번째 답변대로 하면 됩니다.
처음 질문이
질문속의 스크립트를 바탕으로 했기때문에
그에 따른 답변을 한 것이고
그냥 스크립트 없이
숫자만 입력하게 하는 방법을 물었다면
처음부터 알려줬을 링크 답변입니다......
-
genosaid
2013.01.07 23:59
정말 좋은 해결방법 입니다 송동우 님 !!!
이 방법을 적용시키면 크롬에서도 문제없이 돌아가네요 !
그냥 지나치지 않으시고 다시한번 친절하게 댓글 남겨주셔서 너무나 감사드려요 ! ㅜ_ㅜ
다시 한번 너무너무 감사드리고요, 소중한 팁 고맙게 생각하고 적용시키겠습니다.
감사합니다 !
<input type="text" name="'.$column_name.'" value="'.$value.'" class="text" onKeyPress="var code=(window.event)?event.keyCode:event.which; if((code < 48)||(code > 57)) {return false;}else {return true;}" maxlength="5" style="ime-mode:disabled" />
or
<input type="text" name="'.$column_name.'" value="'.$value.'" class="text" onKeyPress="this.value=parseInt(this.value.replace(/[^0-9]/g,""));" maxlength="5" />