기본 프린트 코드는 아래와 같지만
window.print();


특정 레이어 프린트를 할 수 있는 플러그인이 있다. 


링크 
http://projects.erikzaadi.com/jQueryPlugins/jQuery.printElement/

오페라를 찾지 못하는 버그가 있는 경우 아래 소스를 적용시켜주자
jquery.mb.browser.min.js
jquery.printElement.min.js



미리보기 창 없이 인쇄 
printElement({});

인쇄 후 미리보기 창이 사라짐
printElement({ printMode: 'popup' });

인쇄 후 미리보기 창이 남아있음
printElement({ leaveOpen: true, printMode: 'popup' });

CSS무시
printElement({ overrideElementCSS: true });

외부 CSS적용
printElement({ overrideElementCSS: ['http://xxxx.com/test.css'] })

$('#registered').click(function(){ $('#show').html('<div class=new></div>') });

<button id=registered type=button>

위 버튼을 클릭하여 아래 div show 에 new라는 div를 생성하는경우

<div id=show></div>

new 라는 div를 컨트롤하기 위해서는 아래 내용을 참조하자.



$('#registered').on('click', '.new', function() { console.log(this); });

.new 부분에 생성된 엘리멘트 아이디나 클래스를 명시하면된다.





 <script>

$(function(){

 $('#아이프레임아이디').load(function(){

  alert('로딩완료');

 });

});

</script>


참 쉽죠

animate CSS 

MIT 라이센스이며


예제사이트 : https://daneden.github.io/animate.css


많은 것들을 클래스 하나로 쉽게 사용가능하다.


커서위치에 글자(문자) 삽입하기

Insert script at cursor position

매게변수는 접근아이디, 텍스트


function insertAtCursor(areaId,text)

{

    var txtarea = document.getElementById(areaId);

    var scrollPos = txtarea.scrollTop;

    var strPos = 0;

    var br = ((txtarea.selectionStart || txtarea.selectionStart == '0') ?

        "ff" : (document.selection ? "ie" : false ) );

    if (br == "ie") {

        txtarea.focus();

        var range = document.selection.createRange();

        range.moveStart ('character', -txtarea.value.length);

        strPos = range.text.length;

    }

    else if (br == "ff") strPos = txtarea.selectionStart;

 

    var front = (txtarea.value).substring(0,strPos);

    var back = (txtarea.value).substring(strPos,txtarea.value.length);

    txtarea.value=front+text+back;

    strPos = strPos + text.length;

    if (br == "ie") {

        txtarea.focus();

        var range = document.selection.createRange();

        range.moveStart ('character', -txtarea.value.length);

        range.moveStart ('character', strPos);

        range.moveEnd ('character', 0);

        range.select();

    }

    else if (br == "ff") {

        txtarea.selectionStart = strPos;

        txtarea.selectionEnd = strPos;

        txtarea.focus();

    }

    txtarea.scrollTop = scrollPos;

}



php file download


<?

include"./system.php";





$dir = './duri/goods/pdf';

$filekeyname = $_GET['filekeyname'];

$fpath = $dir."/".$filekeyname;

$filename = preg_replace("/\s| /",'',$_GET['filename']).".pdf";

//echo $fpath;

//exit;



if (file_exists($fpath)) {

    header('Content-Description: File Transfer');

    header('Content-Type: application/octet-stream');

    header("Content-Type: application/force-download");

    header('Content-Disposition: attachment; filename=' . urlencode(basename($filename)));

    // header('Content-Transfer-Encoding: binary');

    header('Expires: 0');

    header('Cache-Control: must-revalidate, post-check=0, pre-check=0');

    header('Pragma: public');

    header('Content-Length: ' . filesize($fpath));

    ob_clean();

    flush();

    readfile($fpath);

    exit;

}


?>


'Web > PHP' 카테고리의 다른 글

php 파일 다운로드 (pdf 파일 다운로드 예), php file download  (0) 2017.04.06
php foreach 반복문  (0) 2016.07.07


 


<script type="text/javascript">

jQuery(function(){

    // 숫자 제외하고 모든 문자 삭제.

    $.fn.removeText = function(_v){

        //console.log("removeText: 숫자 제거 합니다.");

        if (typeof(_v)==="undefined")

        {

            $(this).each(function(){

                this.value = this.value.replace(/[^0-9]/g,'');

            });

        }

        else

        {

            return _v.replace(/[^0-9]/g,'');

        }

    };

     

    // php의 number_format과 같은 효과.

    $.fn.numberFormat = function(_v){

        this.proc = function(_v){

            var tmp = '',

                number = '',

                cutlen = 3,

                comma = ','

                i = 0,

                len = _v.length,

                mod = (len % cutlen),

                k = cutlen - mod;

                 

            for (i; i < len; i++)

            {

                number = number + _v.charAt(i);

                if (i < len - 1)

                {

                    k++;

                    if ((k % cutlen) == 0)

                    {

                        number = number + comma;

                        k = 0;

                    }

                }

            }

            return number;

        };

         

        var proc = this.proc;

        if (typeof(_v)==="undefined")

        {

            $(this).each(function(){

                this.value = proc($(this).removeText(this.value));

            });

        }

        else

        {

            return proc(_v);

        }

    };

    $.fn.onlyNumber = function (p) {

        $(this).each(function(i) {

            $(this).attr({'style':'text-align:left'});



             

            this.value = $(this).removeText(this.value);

            this.value = $(this).numberFormat(this.value);

             

            $(this).bind('keypress keyup',function(e){

                this.value = $(this).removeText(this.value);

                this.value = $(this).numberFormat(this.value);

            });

        });

    };

    $('.numberformat').onlyNumber();

});

</script>




1. 위 소스 추가

2. 콤마찍고싶은 input 클래스에 numberformat 추가

3. 콤마데이터 전송시 db 구성에 문제가 있을 수 있으니 submit 할때에 $('.numberformat').removeText(); 를 호출해주면 콤마를 삭제하고 데이터를 전송

4. 감사 댓글 달기

 

일반적인 order by 필드 asc 를 할 경우

 

숫자가 순차적으로 되는것이 아니고 아래 예제처럼 정렬

 

select name from table  order by codename  asc;

 

+-------------------+
| name                    |
+-------------------+
| 1.면                      |
| 10.O                     | 
| 11.마                    |
| 12.브                    |
| 2.린                      |
| 3.의                      |
| 4.계                      |
| 5.방                      |
| 6.커                      |
| 7.누                      |
| 8.패                      |
| 9.부                       |
+-------------------+

 

 

이것을 1,2,3,... 등 숫자 순으로 정렬하기 위해서는 order by 필드 *1 asc 로 정렬조건을 변경

 

정렬하고자 하는 필드 뒤에 *1 이 핵심이며 여러가지로 응용도 가능

 

select name from table  order by cname*1 asc;

 

+-------------------+
cname          |

+-------------------+
| 1.면          |
| 2.린            |
| 3.의        |
| 4.계        |
| 5.방   |
| 6.커        |
| 7.누        |
| 8.패   |
| 9.부          |
| 10.O |
| 11.마     |
| 12.브     |
+-------------------+

+ Recent posts

티스토리 툴바