테스트 사이트 - 개발 중인 베타 버전입니다

숫자값의 콤마찍기 재 질문 드립니다. 채택완료

아래는 콤마찍기전에 스크립 계산을 적용한 내용입니다. 

계산은 잘되는데 문제는 출력값에 콤마가 안찍히네요.

구글링 해도 답이 없습니다.

 

 

                                                                                                 

                                       

    

--------------------------------------------------------------------------

아래는 합계값의 콤마 값인데 안되구요.

.replace(/\B(?=(\d{3})+(?!\d))/g, ",")

 

1번항목에 아래와 같이 줘도 안됩니다.

 

 

 

 

댓글을 작성하려면 로그인이 필요합니다.

답변 2개

채택된 답변
+20 포인트

</p>

<p>            <a onclick="setmony(100000); reduce()" >  

            <input name="a" type="text" value="0" readonly id="a" size="7" >

            </a>

              

            <a onclick="setmony2(500000); reduce()" >

            <input name="b" type="text" value="0" readonly id="b" size="7" >

            </a></p>

<p>            <a onclick="setmony3(1000000); reduce()" >

            <input name="c" type="text" value="0" readonly id="c" size="7" >

            </a></p>

<p> </p>

<p>        me_send_point2 : <input id="me_send_point2"></p>

<p>

<script language="JavaScript">

function setmony(i) {

 var x = document.getElementById("a");

 x.value = parseInt(x.value) + i;

}

</script>

<script language="JavaScript">

function setmony2(i) {

 var x = document.getElementById("b");

 x.value = parseInt(x.value) + i;

}

</script>

<script language="JavaScript">

function setmony3(i) {

 var x = document.getElementById("c");

 x.value = parseInt(x.value) + i;

}

</script></p>

<p>

<script language="JavaScript">

function reduce() {

    var a = parseInt(document.getElementById('a').value) || 0;

    var b = parseInt(document.getElementById('b').value) || 0;

    var c = parseInt(document.getElementById('c').value) || 0;

    var value = a+b+c;</p>

<p>    var reduce = value.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",")</p>

<p>    document.getElementById('me_send_point2').value = reduce;

}

</script></p>

<p>

로그인 후 평가할 수 있습니다

답변에 대한 댓글 8개

배르만님 답변 감사합니다. 매번 질문이 난해한거만 올리네요. 알려주신방법으로 해보겠습니다.^^
알려주신 방법대로 하니 콤마가 한방에 해결 됬습니다.
합계부분에는 콤마가 잘나옵니다.

그런데 혹시요.

아래값 "a" 에도 콤마 찍을 방법이 있을런지요?

-------------------------------------------------------
<script language="JavaScript">
function setmony(i) {
var x = document.getElementById("a");
x.value = parseInt(x.value) + i;
}
</script>
----------------------------------------------
<a onclick="setmony(100000); reduce()" >
<input name="a" type="text" value="0" readonly id="a" size="7" >
</a>
콤마찍는 부분을 함수로 빼내고 value 에 콤마함수 적용,
계산할때 콤마 제거후 계산
정도로 하면 될것 같습니다.
답변감사합니다. 그런데 제가 초보라 이해가 잘 안가네요.
var reduce = value.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",") 이함수를 빼고..
<input name="a" type="text" value="0" readonly id="a" size="7" >

value="0" -> value="replace(/\B(?=(\d{3})+(?!\d))/g, ",")" 이렇게 해보란내용이신지요? ㅎㅎ
이거 확인 한번 부탁드립니다.ㅎㅎ
[code]
<input name="a" type="text" value="0" readonly id="a" size="7" onclick="setmony(this, 100000)">

<input name="b" type="text" value="0" readonly id="b" size="7" onclick="setmony(this, 500000)">

<input name="c" type="text" value="0" readonly id="c" size="7" onclick="setmony(this, 1000000)">

me_send_point2 : <input id="me_send_point2">

<script>
function comma(value, on) {
if (on == true) {
return value.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",");
} else {
return value.replace(/,/g, '');
}
}

function setmony(obj, n) {
var value = parseInt(comma(obj.value, false)) + n;
obj.value = comma(value, true);
reduce();
}

function reduce() {
var a = parseInt(comma(document.getElementById('a').value, false)) || 0;
var b = parseInt(comma(document.getElementById('b').value, false)) || 0;
var c = parseInt(comma(document.getElementById('c').value, false)) || 0;
var value = a+b+c;
var reduce = comma(value, true);
document.getElementById('me_send_point2').value = reduce;
}
</script>

[/code]
답변 감사합니다. 코드가 새롭게 된듯하네요. 알려주신 방법으로 하면 원키업 방식으로 되어 있어서 텍스트 부분을 클릭하게 되면 숫자가 찍히긴 합니다. 제가 해놓은 방식이 "+" 버튼을 클릭하게 되어 있어서 이걸 적용하기가.. 다시 고민하다가 결국
<label class="b" for="b"><i class="fa fa-plus-circle" style="font-size: 20px; font-weight:bold; color:#000; margin-top: 5px; float:right;"></i></label> 라벨로 클릭하게 만들어서 해결했습니다.^^
배르만 님 혹시 여기 아래 링크가 계속 해결이 힘든 상황인데요.
이거 방법이좀 있을까요? 여러분들이 봐주고는 있는데요 . 어떻게 보면 쉬운거 같은데 잘 안되네요.
안되는거 이거 하나만.. 남았는데 여기서 좀 막히네요.
염치불구하고 여쭤 봅니다.

https://sir.kr/qa/507159?sfl=mb_id%2C1&lstx=ckh0941

댓글을 작성하려면 로그인이 필요합니다.

코드가 어질어질 하네요... 계산완료 값이 리턴 될때 콤마 펑션을 넣으세요...

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

네. 답변감사합니다. 계산완료값이 안되요. 쇼핑몰처럼 추가 + 값을 계속 눌러서 계산 값이 나오는거라서요.

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인

전체 질문 목록