스킨상에서 입력값의 세자리수마다 콤마표시 넣기... 정보
그누보드 스킨상에서 입력값의 세자리수마다 콤마표시 넣기...본문
6547번 게시물에 이어....추가 질문을 하나 더하고자 다시 글 적습니다.
wr_3 필드 -> 구입가격
wr_5 필드 -> 판매가격
위처럼 옵션필드를 이용해서 가격을 표시하도록 하고 숫자만 입력되도록 했습니다.
이걸 입력할때나 보여줄때 금액의 천단위마다 '콤마'를 찍어서 -> 3,000 or 50,000 ... 이런식으로
보여주기를 구현하려면 스킨에서 어떻게 작업을 해야할런지요.
현재는 그냥 숫자를 입력하면 컴마표시가 붙지않고 입력한 숫자만 나타납니다.
현재 게시판스킨의 폼에서 사용되는 필드&변수값은..
<input type=text name = wr_3 value=<?= $write[wr_4] ?>>
<input type=text name = wr_5 value=<?= $write[wr_5] ?>>
두가지 입니다.
db에 저장되는것은 어차피 옵션필드타입이 text라서 number_format()를 이용해봐야 별의미없는거 같고,
그냥 스킨상에서만 입력할때나, 내용을 보여주기할때
숫자의 세자리에 컴마를 입력해서 '금액'처럼 표시하고 싶습니다.
경험해보신 분이나 아시는분의 도움글을 부탁합니다.
wr_3 필드 -> 구입가격
wr_5 필드 -> 판매가격
위처럼 옵션필드를 이용해서 가격을 표시하도록 하고 숫자만 입력되도록 했습니다.
이걸 입력할때나 보여줄때 금액의 천단위마다 '콤마'를 찍어서 -> 3,000 or 50,000 ... 이런식으로
보여주기를 구현하려면 스킨에서 어떻게 작업을 해야할런지요.
현재는 그냥 숫자를 입력하면 컴마표시가 붙지않고 입력한 숫자만 나타납니다.
현재 게시판스킨의 폼에서 사용되는 필드&변수값은..
<input type=text name = wr_3 value=<?= $write[wr_4] ?>>
<input type=text name = wr_5 value=<?= $write[wr_5] ?>>
두가지 입니다.
db에 저장되는것은 어차피 옵션필드타입이 text라서 number_format()를 이용해봐야 별의미없는거 같고,
그냥 스킨상에서만 입력할때나, 내용을 보여주기할때
숫자의 세자리에 컴마를 입력해서 '금액'처럼 표시하고 싶습니다.
경험해보신 분이나 아시는분의 도움글을 부탁합니다.
댓글 전체

<HTML>
<HEAD>
<TITLE>폼안에 숫자 입력시 콤마 자동으로 찍기 </TITLE>
<SCRIPT LANGUAGE="JavaScript">
<!--
//숫자에 3 자리마다 콤마찍어 준다.......
function PointComma(formnum) {
num1 = formnum.length;//숫자의 길이를 구한다.
FirstNum = formnum.substr(0,1);//입력숫자의 첫번째를 잘라 낸다..
FirstNum2 = formnum.substr(1,num1);//'0'다음의 숫자를 잘라낸다.
if(FirstNum == "0"){ //만약 숫자가 "0"으로 시작되면 앞에 '0'을 뺀 숫자만큼 리턴 한다........
alert("입력숫자는 0 으로 시작할 수 없습니다.");
return FirstNum2;
formnum = FirstNum2;
}
re = /^\$|,/g;
formnum = formnum.replace(re, ""); //콤마를 제거 해 준다....
document.forms[0].dollar.value=formnum;//힌드값에..콤마를 뺀 값을 넣어든다.
var fieldnum = '' + formnum;
//여기서 부터 3자리마다 콤마를 찍어 준다.
if (isNaN(fieldnum)) {//숫자인가 비교
alert("숫자만 입력하실 수 있습니다.");
document.forms[0].Won.value == "";
document.forms[0].Won.focus();
return "";
}
else {
var comma = new RegExp('([0-9])([0-9][0-9][0-9][,.])');
var Po = fieldnum.split('.');
Po[0] += '.';
do {
Po[0] = Po[0].replace(comma, '$1,$2');
} while (comma.test(Po[0]));
if (Po.length > 1) {
return Po.join('');
}
else {
return Po[0].split('.')[0];
}
}
}
//-->
</SCRIPT>
</HEAD>
<BODY>
<form name="testForm">
<input type="text" name="Won" id="price" size="20" maxlength="18" onkeyup="document.testForm.Won.value=PointComma(document.testForm.Won.value);">
<input type="hidden" name="dollar">
</form>
</BODY>
</HTML>
입력폼에서 3자리 , 표시 하기 자바 스크립입니다.. (__)
<HEAD>
<TITLE>폼안에 숫자 입력시 콤마 자동으로 찍기 </TITLE>
<SCRIPT LANGUAGE="JavaScript">
<!--
//숫자에 3 자리마다 콤마찍어 준다.......
function PointComma(formnum) {
num1 = formnum.length;//숫자의 길이를 구한다.
FirstNum = formnum.substr(0,1);//입력숫자의 첫번째를 잘라 낸다..
FirstNum2 = formnum.substr(1,num1);//'0'다음의 숫자를 잘라낸다.
if(FirstNum == "0"){ //만약 숫자가 "0"으로 시작되면 앞에 '0'을 뺀 숫자만큼 리턴 한다........
alert("입력숫자는 0 으로 시작할 수 없습니다.");
return FirstNum2;
formnum = FirstNum2;
}
re = /^\$|,/g;
formnum = formnum.replace(re, ""); //콤마를 제거 해 준다....
document.forms[0].dollar.value=formnum;//힌드값에..콤마를 뺀 값을 넣어든다.
var fieldnum = '' + formnum;
//여기서 부터 3자리마다 콤마를 찍어 준다.
if (isNaN(fieldnum)) {//숫자인가 비교
alert("숫자만 입력하실 수 있습니다.");
document.forms[0].Won.value == "";
document.forms[0].Won.focus();
return "";
}
else {
var comma = new RegExp('([0-9])([0-9][0-9][0-9][,.])');
var Po = fieldnum.split('.');
Po[0] += '.';
do {
Po[0] = Po[0].replace(comma, '$1,$2');
} while (comma.test(Po[0]));
if (Po.length > 1) {
return Po.join('');
}
else {
return Po[0].split('.')[0];
}
}
}
//-->
</SCRIPT>
</HEAD>
<BODY>
<form name="testForm">
<input type="text" name="Won" id="price" size="20" maxlength="18" onkeyup="document.testForm.Won.value=PointComma(document.testForm.Won.value);">
<input type="hidden" name="dollar">
</form>
</BODY>
</HTML>
입력폼에서 3자리 , 표시 하기 자바 스크립입니다.. (__)
님의 도움을 많이 받았네요.. ^^ ...알려주신대로 하니,
출력부분 쉽게 잘 처리되었습니다. 감사합니다.
입력부분은 스크립터를 써서 해야할거 같은데, 이래저래 찾아봐야겠네요..암튼 감사드립니다.
덕분에 어려운문제 잘 해결했습니다...꾸벅~
출력부분 쉽게 잘 처리되었습니다. 감사합니다.
입력부분은 스크립터를 써서 해야할거 같은데, 이래저래 찾아봐야겠네요..암튼 감사드립니다.
덕분에 어려운문제 잘 해결했습니다...꾸벅~
입력부분은 잘,,,,,,,
출력부분은 <?=nf($write[wr_3])?> 등으로 해보세요
출력부분은 <?=nf($write[wr_3])?> 등으로 해보세요