a

숫자와 컴마 입력하는 폼에서 크로스브라우징 문제

· 2011-08-15 (월) 10:36:18 · 2584 · 2
wr_4 여유필드를 이용해서 가격정보를 입력받는 추가했습니다.
숫자만 입력할수있도록 했고, 숫자와 함께 3자리마다 컴마(,)를 입력할수 있도록 했습니다.
그래서 필드를 만든후, 이미 만들어져 있는 스크립트를 찾아서 가져와 붙였습니다


<!-- wrtie.skin.php 스킨내 추가필드 -->
<input class='wbox' maxlength=5 size=10 onkeyup='this.value = Set_Comma(this.value);' name=wr_4 id="wr_4" itemname="금액1" required value="<?=$write[wr_4]?>">

<!---- 숫자 입력 스크립트 -->
<script>
function Set_Comma(n){
return Number(String(n).replace(/\..*|[^\d]/g,"")).toLocaleString().slice(0,-3);
}
</script>



그런데 문제는.. ie 계열의 브라우저에서는 정상적으로 작동을 합니다만,
파이어폭스와 크롬에서는 값을 입력할수도 없고.. 먹히질 않네요.

어떻게 바꿔야 모든 브라우저에서 작동 하는지요? .. 위 스크립트가 아니어도 상관없습니다


p.s; 작업을 위처럼 하긴 했습니다만, 그냥 컴마없이 숫자만 입력받는게 나을까요????
|

댓글 2개

그누보드에 만들어놓은 함수를 이용하고 onkeyup 대신 onblur

function Set_Comma(n){
tmp=''+Number(String(n).replace(/\..*|[^\d]/g,""));
return number_format(tmp);
// return Number(String(n).replace(/\..*|[^\d]/g,"")); //.toLocaleString().slice(0,-3);
}
늘 느끼는거지만...정말 대단하다는 말 밖엔... ^^:;
왜 이렇게 작동이 되는건지 그 원리를 이해할수 있으면 좋으련만...
아무리 궁금해도 안되는게 있군요.

그중 하나가 onblur 의 경우 통상 입력을 막기위해 사용된거 같은데
여기선 이렇게도 사용이 되는군요.

어쨋던 크롬,파폭.ie 모두 잘 작동합니다.. 도움주셔서 정말 감사합니다 ^^
댓글을 작성하시려면 로그인이 필요합니다.

그누4 질문답변

66,531건

그누보드4 관련 질문은 QA 로 이전됩니다. QA 그누보드4 바로가기 기존 게시물은 열람만 가능합니다.

+
제목 글쓴이 날짜 조회
11-08-16 조회 1,597
11-08-16 조회 2,195
11-08-16 조회 1,696
11-08-16 조회 1,698
11-08-16 조회 2,133
11-08-15 조회 1,780
11-08-15 조회 1,213
11-08-15 조회 2,679
11-08-15 조회 1,696
11-08-15 조회 1,251
11-08-15 조회 1,789
11-08-15 조회 1,814
11-08-15 조회 2,042
11-08-15 조회 1,119
11-08-15 조회 4,008
11-08-15 조회 1,130
11-08-15 조회 1,954
11-08-15 조회 962
11-08-15 조회 1,120
11-08-15 조회 2,585