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

스크립 계한후 여분필드 저장만 안됩니다. 채택완료

주퍼 1년 전 조회 24,016

아래는 수량 합산하여 여분필드에 적용을 하려고 합니다.

수량 합산은 되는데 여분필드 적용이 안되는데 합계에서 필드값을 넣어도 안되네요.

 

 

<div class="form-group">
<div class="col-md-12">
    
<span class="bo_w_select3">필요시 변경하세요.  [수량금액조정가능]      </span><p> </p>  
<table width="100%" border="0" cellspacing="0" cellpadding="0">
  <tbody>
    <tr>
      <td>&nbsp;수량</td>
      <td>&nbsp;
    <span class="qty"> 
        <div class="plus"><a href="javascript:change_qty2('p')">+</a></div>
        <input type="text" name="ct_qty" id="ct_qty" value="1" readonly="readonly">
        <div class="minus"><a href="javascript:change_qty2('m')">-</a></div>
    </span> 
      </td>
      <td>₩ 
<div input type="text" id="total_amount"  name="wr_3"   value="<?php echo $write['wr_3']?>">
    200,000     
          </div>        
      </td>
    </tr>
  </tbody>
</table>
    
</div>
</div>
    

    
<script>
Number.prototype.format = function(){
  if(this==0) return 0;

  var reg = /(^[+-]?\d+)(\d{3})/;
  var n = (this + '');

  while (reg.test(n)) n = n.replace(reg, '$1' + ',' + '$2');

  return n;
};
 

String.prototype.format = function(){
  var num = parseFloat(this);
  if( isNaN(num) ) return "0";

  return num.format();
};
    
var basic_amount = parseInt('200000');

function change_qty2(t){
  //var min_qty = '수량버튼'*1;
  var min_qty = 1;
  var this_qty = $("#ct_qty").val()*1;
  var max_qty = '20000'; // 현재 재고
  if(t=="m"){
    this_qty -= 1;
    if(this_qty<min_qty){
      //alert("최소구매수량 이상만 구매할 수 있습니다.");
      alert("수량은 1개 이상 입력해 주십시오.");
      return;
      }
    }
    else if(t=="p"){
      this_qty += 1;
      if(this_qty>max_qty){
        alert("죄송합니다. 재고가 부족합니다.");
        return;
        }
    }

  var show_total_amount = basic_amount * this_qty;
  //$("#ct_qty_txt").text(this_qty); 
  $("#ct_qty").val(this_qty);
  $("#it_pay").val(show_total_amount);
  $("#total_amount").html(show_total_amount.format());
}    
</script>
    
   ------------------------------------------------------- 
  별도로 -> <input type="text" name="wr_3" value="<?php echo $wr_3 ?>" id="wr_3" required class="bo_w_select2">     이렇게 적용하면 됩니다.  

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

답변 1개

채택된 답변
+20 포인트
1년 전

다음 코드가 도움이 될지 모르겠습니다.

 

</p>

<p><div class="form-group">

<div class="col-md-12">

    

<span class="bo_w_select3">필요시 변경하세요.  [수량금액조정가능]      </span><p> </p>  

<table width="100%" border="0" cellspacing="0" cellpadding="0">

  <tbody>

    <tr>

      <td> 수량</td>

      <td> 

    <span class="qty"> 

        <div class="plus"><a href="javascript:change_qty2('p')">+</a></div>

        <input type="text" name="ct_qty" id="ct_qty" value="1" readonly="readonly">

        <div class="minus"><a href="javascript:change_qty2('m')">-</a></div>

    </span> 

      </td>

      <td>₩ 

<div input type="text" id="total_amount">

    200,000     

          </div>        

          <input type="hidden" name="wr_3" value="<?php echo $wr_3 ?>" id="wr_3" required class="bo_w_select2">

      </td>

    </tr>

  </tbody>

</table>

    

</div>

</div>

    </p>

<p>    

<script src="<a href="http://code.jquery.com/jquery-latest.min.js"></script>" target="_blank" rel="noopener noreferrer">http://code.jquery.com/jquery-latest.min.js"></script></a>

<script>

Number.prototype.format = function(){

  if(this==0) return 0;</p>

<p>  var reg = /(^[+-]?\d+)(\d{3})/;

  var n = (this + '');</p>

<p>  while (reg.test(n)) n = n.replace(reg, '$1' + ',' + '$2');</p>

<p>  return n;

};

 </p>

<p>String.prototype.format = function(){

  var num = parseFloat(this);

  if( isNaN(num) ) return "0";</p>

<p>  return num.format();

};

    

var basic_amount = parseInt('200000');</p>

<p>function change_qty2(t){

  //var min_qty = '수량버튼'*1;

  var min_qty = 1;

  var this_qty = $("#ct_qty").val()*1;

  var max_qty = '20000'; // 현재 재고

  if(t=="m"){

    this_qty -= 1;

    if(this_qty<min_qty){

      //alert("최소구매수량 이상만 구매할 수 있습니다.");

      alert("수량은 1개 이상 입력해 주십시오.");

      return;

      }

    }

    else if(t=="p"){

      this_qty += 1;

      if(this_qty>max_qty){

        alert("죄송합니다. 재고가 부족합니다.");

        return;

        }

    }</p>

<p>  var show_total_amount = basic_amount * this_qty;

  //$("#ct_qty_txt").text(this_qty); 

  $("#ct_qty").val(this_qty);

  $("#it_pay").val(show_total_amount);

  $("#total_amount").html(show_total_amount.format());

  $('#wr_3').val(show_total_amount);

}    

</script></p>

<p>

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

답변에 대한 댓글 3개

주퍼
1년 전
앗. 안녕하세요. 베르만님 항상 도움 많이 주셔서 감사합니다. 뷰페이지에서는 적용이 잘됩니다. 혹시 수정시 는 적용이 안되나요? 리셋값을 할수는 없을듯 하지만요.
배르만
1년 전
수정 추가된 부분은 다음과 같고
[code]
...
<div input type="text" id="total_amount">
200,000
</div>
<input type="hidden" name="wr_3" value="<?php echo $wr_3 ?>" id="wr_3" required class="bo_w_select2">
...
<script src="http://code.jquery.com/jquery-latest.min.js"></script>
<script>
...
$('#wr_3').val(show_total_amount);
...
</script>
[/code]

추가된 부분은 다음을 참고하였습니다.
[code]
-------------------------------------------------------
별도로 -> <input type="text" name="wr_3" value="<?php echo $wr_3 ?>" id="wr_3" required class="bo_w_select2"> 이렇게 적용하면 됩니다.
[/code]

위 코드로 별도의 페이지를 만들어 테스트 하며 디버깅을 해보는것도 방법일것 같습니다.
주퍼
1년 전
넵. 감사합니다.^^ 아주 잘 됩니다. 알면 간단한걸 초보라 많이 헛갈리니네요.

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

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

로그인