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

선택옵션을 프로그램으로 직접 넣을 경우 .....sel_option_process

압쥐 8년 전 조회 2,918

저희가 지금 몰 프로그램을 제작중입니다.

현재 영커트 5를 이용하고 있는데 

작업자가 중간에 퇴직 했습니다.

그런데 인수를 받은 사람이 들어가 보니 상품관리의 선택옵션을 사용하지 않고 직접

                               

                               

                             

                             

                                제본

                             

                             

                               

                               

                               

                             

                           

                         

                       

주문버튼시 처리부분 입니다.

                        function go_by_type1(btntype) {

                          var ordername = $("#ordername").val();

                          var size = $("#page_size option:selected").val();

                          var pagesize_tops = $("#pagesize_tops").val();

                          var pagesize_left = $("#pagesize_left").val();

                          var cover_page = $("#cover_page option:selected").val();

                          //var cover_page_gram = $("#cover_page_gram option:selected").val();

                          var wingprinttype = $(':radio[name="wingprinttype"]:checked').val();

                          //var innserpagetype      = $(':radio[name="innserpagetype"]:checked').val();

                          var buy_count = $("#buy_count").val();

                          var hugagong = "";

                          $("input[name=hugagong]:checked").each(function() {

                            if (hugagong == "") {

                              hugagong += $(this).val();

                            } else {

                              hugagong += "," + $(this).val();

                            }

                          });

                          var buy_qus = $("#buy_qus").val();

                          if (ordername == "") {

                            alert("주문명을 입력해주세요");

                          } else if (size == "-") {

                            alert("사이즈를 선택해주세요.");

                          }

                          /*else if(pagesize_tops > 594){

                                                         alert("사이즈 최대값을 초과하였습니다(최대(594x841))");

                                                     } else if(pagesize_left > 841){

                                                         alert("사이즈 최대값을 초과하였습니다(최대((594x841))");

                                                     }*/

                          else if (cover_page == "-") {

                            alert("용지를 선택해주세요.");

                          }

                          /*else if(cover_page_gram == "-"){

                                                         alert("평량을 선택해주세요.");

                                                     } */

                          else if (buy_count < 30 || buy_count > 10000) {

                            alert("주문가능 수량은 30~10000부 입니다");

                          } else {

                            $(".it_opt_del").click();

                            //추가금액 계산

                            var size_price = $("#page_size option:selected").attr("price");

                            var cover_page_price = $("#cover_page option:selected").attr("price");

                            //    var cover_page_gram_price = $("#cover_page_gram option:selected").attr("price");

                            var wingprinttype_price = $(':radio[name="wingprinttype"]:checked').attr("price");

                            var hugagong_price = 0;

                            $("input[name=hugagong]:checked").each(function() {

                              hugagong_price += parseInt($(this).attr("price"));

                            });

                            var priceSum =

                              parseInt(size_price) +

                              parseInt(cover_page_price) +

                              //        parseInt(cover_page_gram_price) +

                              parseInt(wingprinttype_price) +

                              parseInt(hugagong_price);

                            $("#it_option_1").find("option").each(function() {

                              if (priceSum == $(this).val().split(",")[0]) {

                                $('#it_option_1 option[value="' + $(this).val() + '"]').attr('selected', 'selected');

                              }

                            });

                            //수량 1개의 가격

                            var oneByPrice = priceSum;

                            var txt_ordername = $("#ordername").val();

                            var txt_size = $("#page_size option:selected").text();

                            var txt_cover_page = $("#cover_page option:selected").text();

                            //    var txt_cover_page_gram = $("#cover_page_gram option:selected").text();

                            var txt_wingprinttype = $(':radio[name="wingprinttype"]:checked').text();

                            var txt_hugagong = "";

                            $("input[name=hugagong]:checked").each(function() {

                              if (txt_hugagong == "") {

                                txt_hugagong += $(this).attr("textv");

                              } else {

                                txt_hugagong += "," + $(this).attr("textv");

                              }

                            });

                            //유효성 체크 완료 (카타록/브로슈어 주문시작)

                            if (btntype == "buy") {

                              sel_option_process(true);

                              $(".input-group .input-sm").val(buy_count);

                              price_calculate();

                              $("#it_sel_option .input-sm").each(function(index) {

                                  if (index == 1) {

                                    $(this).val(txt_ordername);

                                  }

                                  $("#it_sel_option .input-sm").each(function(index) {

                                    if (index == 2) {

                                      //주문내역

                                      var appendtext = "사이즈:" + txt_size;

                                      appendtext += " 용지:" + txt_cover_page;

                                      appendtext += " 인쇄:" + txt_wingprinttype;

                                      appendtext += " 후가공:" + txt_hugagong;

                                      $(this).val(appendtext);

                                    }

                                  });

                                  $("#it_sel_option .input-sm").each(function(index) {

                                    if (index == 3) {

                                      //요청사항

                                      $(this).val(buy_qus);

                                    }

                                  });

                                  $("#org_btn").click();

                                }

                                //유효성 체크 완료 (카타록/브로슈어 견적시작)

                                if (btntype == "pom") {

                                  oneByPrice = oneByPrice + 10000;

                                  $(".lists1").html("");

                                  $(".lists2").html("");

                                  $(".lists3").html("");

                                  $(".bigo").html("");

                                  $(".allpricet1").html("");

                                  $(".allpricet2").html("");

                                  $(".allpricet3").html("");

                                  $(".allpricet1").html((oneByPrice * 0.9) * buy_count);

                                  $(".allpricet2").html((oneByPrice * 0.1) * buy_count);

                                  $(".allpricet3").html(((oneByPrice * 0.9) + (oneByPrice * 0.1)) * buy_count);

                                  var appendtext = "사이즈" + txt_size + "";

                                  appendtext += "용지" + txt_cover_page + "";

                                  //    appendtext += "평량" + txt_cover_page_gram + "";

                                  appendtext += "인쇄" + txt_wingprinttype + "";

                                  appendtext += "수량" + buy_count + "";

                                  $(".lists1").append(appendtext);

                                  appendtext = "" + txt_hugagong + "";

                                  $(".lists2").append(appendtext);

                                  appendtext = "사이즈₩" + size_price + "";

                                  appendtext += "용지₩" + cover_page_price + "";

                                  //    appendtext += "평량₩" + cover_page_gram_price + "";

                                  appendtext += "인쇄₩" + wingprinttype_price + "";

                                  appendtext += "후가공₩" + hugagong_price + "";

                                  $(".lists3").append(appendtext);

                                  $("#pom").fadeIn(400);

                                  $(".bigo").html(buy_qus);

                                }

                              }

                            }

                          }

                     

                  http://www.digitaladone.com/skin/apms/item/board/img/button_estimate.jpg">http://www.digitaladone.com/skin/apms/item/board/img/button_estimate.jpg" onclick="go_by_type1('pom');" style="cursor:pointer;" />

                  http://www.digitaladone.com/skin/apms/item/board/img/button_order.jpg">http://www.digitaladone.com/skin/apms/item/board/img/button_order.jpg" onclick="go_by_type1('buy');" style="cursor:pointer;" />

                 

이때 위에서 sel_option_process() 펑션을 호출하면 

Uncaught TypeError: Cannot read property 'split' of undefined

    at sel_option_process (shop.js:265)

    at go_by_type1 (

 에러가 나옵니다.

사이즈가 커서 업로드가 어렵습니다.

연락 주시면 전달 드릴 수 있겠습니다.

참 이 문제를 해결해 주시면 그에 대한 사례 하겠습니다. 

010-4281-9618

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

답변 2개

8년 전

가격,이름 <== 이런식으로 되어 있던 문자열을 다른식으로 입력하신건 아닌가요?

소스 보니 가격,이름 이부분에서 앞에 가격부분만 뽑아 비교하는 부분에서 에러가 발생하네요

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

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

8년 전

에러 자체는 넘어가는 값이 문자형이 아니라서 split 함수가 호출 안되는 경우인데

코드 자체를 봐야 해결이 될거 같습니다.

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

답변에 대한 댓글 2개

압쥐
8년 전
전화한번 주시겠습니까?
쪽지 보냅니다
압쥐
8년 전
0l0428l9618로 전화 바랍니다.

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

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

로그인