합계가 계산 되지 않습니다. 정보
합계가 계산 되지 않습니다.본문
체크박스를 체크하면
wr_10 에 체크 된 값의 포인트 합계를 나오게 하고 싶습니다.
체크박스를 체크해도 계속 포인트 합계가 0으로 나오는 이유를 모르겠습니다..
감사합니다.
<form name="fwrite" method="post" action="javascript:fwrite_check(document.fwrite);" enctype="multipart/form-data" autocomplete="off">
<table width="360">
<tr>
<input type=hidden name=wr_1 value="<?=$write[wr_1]?>">
<input type=hidden name=wr_2 value="<?=$write[wr_2]?>">
<input type=hidden name=wr_3 value="<?=$write[wr_3]?>">
<input type=hidden name=wr_10 value="<?=$write[wr_10]?>">
<input type=hidden name=hiddenwr_10 value="0">
<td width="168"><b>포인트옵션</b></td>
<td width="182"><b>서비스 내용</b></td>
</tr>
<tr bgcolor="ffffff">
<td bgcolor="#E6F7FF" width="168"><input type="checkbox" name="wr_1" value="20000" onClick="this.form.wr_10.value=checkChoice(this);" >
<? if ($write[wr_1] == 20000) echo "checked";?> 스페셜 </td>
<td width="182">20,000 p/30일</td>
</tr>
<tr bgcolor="ffffff">
<td bgcolor="#E6F7FF" width="168"><input type="checkbox" name="wr_2" value="16000" onClick="this.form.wr_10.value=checkChoice(this);" ><? if ($write[wr_2] == 16000) echo "checked";?>
박스광스</td>
<td width="182"> 6,000 p/30일
<p>1</td>
</tr>
</table> <tr>
<td><table width="361" cellpadding="5" cellspacing="1" bgcolor="cccccc" >
<tr>
<td width="80" align="center" bgcolor="#FFECEE" class="red"><b>포인트합계</b></td>
<td bgcolor="ffffff" width="258"><input type="text" name="wr_10" value="0" size="10" >
</td>
</tr>
</table>
</form>
<table width="360">
<tr>
<input type=hidden name=wr_1 value="<?=$write[wr_1]?>">
<input type=hidden name=wr_2 value="<?=$write[wr_2]?>">
<input type=hidden name=wr_3 value="<?=$write[wr_3]?>">
<input type=hidden name=wr_10 value="<?=$write[wr_10]?>">
<input type=hidden name=hiddenwr_10 value="0">
<td width="168"><b>포인트옵션</b></td>
<td width="182"><b>서비스 내용</b></td>
</tr>
<tr bgcolor="ffffff">
<td bgcolor="#E6F7FF" width="168"><input type="checkbox" name="wr_1" value="20000" onClick="this.form.wr_10.value=checkChoice(this);" >
<? if ($write[wr_1] == 20000) echo "checked";?> 스페셜 </td>
<td width="182">20,000 p/30일</td>
</tr>
<tr bgcolor="ffffff">
<td bgcolor="#E6F7FF" width="168"><input type="checkbox" name="wr_2" value="16000" onClick="this.form.wr_10.value=checkChoice(this);" ><? if ($write[wr_2] == 16000) echo "checked";?>
박스광스</td>
<td width="182"> 6,000 p/30일
<p>1</td>
</tr>
</table> <tr>
<td><table width="361" cellpadding="5" cellspacing="1" bgcolor="cccccc" >
<tr>
<td width="80" align="center" bgcolor="#FFECEE" class="red"><b>포인트합계</b></td>
<td bgcolor="ffffff" width="258"><input type="text" name="wr_10" value="0" size="10" >
</td>
</tr>
</table>
</form>
<script language='javascript'>
function checkChoice(whichbox) {
with (whichbox.form) {
if (whichbox.checked == false) {
hiddenwr_10.value = eval(hiddenwr_10.value) - eval(whichbox.value);
} else {
hiddenwr_10.value = eval(hiddenwr_10.value) + eval(whichbox.value);
}
return(formatCurrency(hiddenwr_10.value));
}
}
function formatCurrency(num) {
num = num.toString().replace(/$|,/g,'');
num = num.toString().replace(/$|,/g,'');
if(isNaN(num)) { num = "0"; }
cents = Math.floor((num*100+0.5)%100);
num = Math.floor((num*100+0.5)/100).toString();
if(cents < 10) {
cents = "0" + cents;
}
cents = Math.floor((num*100+0.5)%100);
num = Math.floor((num*100+0.5)/100).toString();
if(cents < 10) {
cents = "0" + cents;
}
return (num);
}
}
</script>
댓글 전체
hiddenwr_10.value = eval(hiddenwr_10.value) - eval(whichbox.value);
} else {
hiddenwr_10.value = eval(hiddenwr_10.value) + eval(whichbox.value);
}
eval() 대신 parseInt를 써야 하는 거 아닌가요?
} else {
hiddenwr_10.value = eval(hiddenwr_10.value) + eval(whichbox.value);
}
eval() 대신 parseInt를 써야 하는 거 아닌가요?
parseInt를 사용해도 같은 결과가 나옵니다...
name 값 중복 오류 입니다...
상단의
<input type=hidden name=wr_10 value="<?=$write[wr_10]?>">를 없애거나 주석처리해 보세요~~~
상단의
<input type=hidden name=wr_10 value="<?=$write[wr_10]?>">를 없애거나 주석처리해 보세요~~~
감사합니다. wr_10을 주석 처리 하니 잘 됩니다.