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

게시판에 서명 질문입니다. 채택완료

꽁치입니다 4년 전 조회 2,180

</p>

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

    <label class="col-sm-2 control-label" for="wr_1">서명<strong class="sound_only">필수</strong></label>

    <div class="col-sm-10">

        <?php if($write['wr_1']) { ?>

        


        <img src="<?php echo $write['wr_1'] ?>">

        <?php } ?>

        <input type="hidden" name="wr_1" value="<?php echo $write['wr_1'] ?>" class="form-control input-sm">

        <div id="wr_1"></div>

        <div data-role="page">

            <!-- <div id="page" data-role="content"></div> -->


            <div data-role="popup" id="divPopUpSignContract">

                <div class="ui-content popUpHeight">

                    <div id="div_signcontract">

                        <canvas id="canvas">Canvas is not supported</canvas>

                        <div>

                            <input id="btnSubmitSign" class="btn btn-orangered btn-xs" type="button" data-inline="true" data-mini="true" data-theme="b" value="서명확인" onclick="fun_submit()" />

                            <input id="btnClearSign" class="btn btn-orangered btn-xs" type="button" data-inline="true" data-mini="true" data-theme="b" value="Clear" onclick="init_Sign_Canvas()" />

                            <label id="page" data-role="content"></label>

                        </div>

                    </div>

                </div>

            </div>

        </div>

    </div>

</div></p>

<p>

<script type="text/javascript">

var isSign = false;

var leftMButtonDown = false;</p>

<p>jQuery(function() {

    //Initialize sign pad

    init_Sign_Canvas();

});</p>

<p>function fun_submit() {

    if (isSign) {

        var canvas = $("#canvas").get(0);

        var imgData = canvas.toDataURL();

        jQuery('#page').find('p').remove();

        jQuery('#page').find('img').remove();

        jQuery('#page').append(jQuery('<p>위의 서명날인을 사용합니다.</p>'));

        jQuery('#wr_1').append($('<input type="hidden" name="wr_1" class="form-control input-sm">').attr('value', imgData));</p>

<p>        closePopUp();

    } else {

        alert('Please sign');

    }

}</p>

<p>function closePopUp() {

    jQuery('#divPopUpSignContract').popup('close');

    jQuery('#divPopUpSignContract').popup('close');

}</p>

<p>function init_Sign_Canvas() {

    isSign = false;

    leftMButtonDown = false;</p>

<p>    //Set Canvas width

    var sizedWindowWidth = $(window).width();

    if (sizedWindowWidth > 700)

        sizedWindowWidth = $(window).width() / 2;

    else if (sizedWindowWidth > 400)

        sizedWindowWidth = sizedWindowWidth - 100;

    else

        sizedWindowWidth = sizedWindowWidth - 50;</p>

<p>    //$("#canvas").width(sizedWindowWidth);

    $("#canvas").width(283);

    $("#canvas").height(80);

    $("#canvas").css("border", "1px solid #add8e6");</p>

<p>    var canvas = $("#canvas").get(0);</p>

<p>    canvasContext = canvas.getContext('2d');</p>

<p>    if (canvasContext) {

        //canvasContext.canvas.width  = sizedWindowWidth;

        canvasContext.canvas.width = 283;

        canvasContext.canvas.height = 80;</p>

<p>        canvasContext.fillStyle = "#e3f0f5";

        canvasContext.fillRect(0, 0, sizedWindowWidth, 200);</p>

<p>        canvasContext.moveTo(50, 150);

        canvasContext.lineTo(sizedWindowWidth - 50, 150);

        canvasContext.stroke();</p>

<p>        canvasContext.fillStyle = "#000";

        canvasContext.font = "20px Arial";

        canvasContext.fillText("x", 40, 155);

    }

    // Bind Mouse events

    $(canvas).on('mousedown', function(e) {

        if (e.which === 1) {

            leftMButtonDown = true;

            canvasContext.fillStyle = "#000";

            var x = e.pageX - $(e.target).offset().left;

            var y = e.pageY - $(e.target).offset().top;

            canvasContext.moveTo(x, y);

        }

        e.preventDefault();

        return false;

    });</p>

<p>    $(canvas).on('mouseup', function(e) {

        if (leftMButtonDown && e.which === 1) {

            leftMButtonDown = false;

            isSign = true;

        }

        e.preventDefault();

        return false;

    });</p>

<p>    // draw a line from the last point to this one

    $(canvas).on('mousemove', function(e) {

        if (leftMButtonDown == true) {

            canvasContext.fillStyle = "#000";

            var x = e.pageX - $(e.target).offset().left;

            var y = e.pageY - $(e.target).offset().top;

            canvasContext.lineTo(x, y);

            canvasContext.stroke();

        }

        e.preventDefault();

        return false;

    });</p>

<p>    //bind touch events

    $(canvas).on('touchstart', function(e) {

        leftMButtonDown = true;

        canvasContext.fillStyle = "#000";

        var t = e.originalEvent.touches[0];

        var x = t.pageX - $(e.target).offset().left;

        var y = t.pageY - $(e.target).offset().top;

        canvasContext.moveTo(x, y);</p>

<p>        e.preventDefault();

        return false;

    });</p>

<p>    $(canvas).on('touchmove', function(e) {

        canvasContext.fillStyle = "#000";

        var t = e.originalEvent.touches[0];

        var x = t.pageX - $(e.target).offset().left;

        var y = t.pageY - $(e.target).offset().top;

        canvasContext.lineTo(x, y);

        canvasContext.stroke();</p>

<p>        e.preventDefault();

        return false;

    });</p>

<p>    $(canvas).on('touchend', function(e) {

        if (leftMButtonDown) {

            leftMButtonDown = false;

            isSign = true;

        }</p>

<p>    });

}

</script></p>

<p>


위 소스는 https://sir.kr/g5_skin/11807" rel="nofollow">https://sir.kr/g5_skin/11807 님의 서명날인 스킨 입니다.
매우 좋은 소스입니다.....만, 

2개 또는  3개를 같은 페이지에 넣을 수 있는지 궁금합니다.
단순히 wr_1 를 wr_2 로 늘려서 하는게 아니고 스크립트의 id값과 Query 도 중복 안되게 연속성을주고 바꿔서 해봐도 안되군요. ㅜㅜ;

특별히 수정할 곳을 못찾고 헤메는 중입니다. 도움 바랍니다.^^

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

답변 1개

채택된 답변
+20 포인트

작업하시는 소스를 올려야 하지 않을까요?

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

답변에 대한 댓글 6개

꽁치입니다
4년 전
위 에 올려놓은 소스 입니다... ㅎㅎ
엑스엠엘
4년 전
사인하는 영역을 두 개 만드셨다고 했는데
<canvas id="canvas">
이 부분은 하나밖에 안 보이네요.
꽁치입니다
4년 전
아... 제가 질문한 내용은
위 자료는 1개의 서명을 받는 소스로는 아주 잘되는데요, 2개를 적용시키려 여러가지 방법을 해 보았으나 적용이 안되어서 질문을 드린 겁니다.^^
엑스엠엘
4년 전
2개를 적용시키려
==
이렇게 하신 소스를 올리셔야 하지 않을까요?
꽁치입니다
4년 전
적용은 못했구요. 저는 단지 위 소스를 이용해서 서명을 2개 받을 수 있는지 알고 싶어서 질문을 드린겁니다. 1 개의 id값에 1개의 Script 소스만 필요한지, 아니면 <canvas id="canvas2"> 라는 것을 더 생성할려면 스크립트는 어떻게 추가 또는 수정해야 하는지 궁금해서.....ㅡㅡ;
엑스엠엘
4년 전
JavaScript를 어떻게 해야 하는지는
작업하기 나름입니다.
<canvas id="canvas2">
를 추가하시고
필요한 코드를 더 넣어 보세요.

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

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

로그인