0

問題:私がしなければならないのは、ID を使用してデータベースからユーザーの情報を取得し、それらの受信情報を pdf ファイルまたはハード コピーに印刷することだけです。

試した解決策:以下のコードに示すようにメソッドPrintData(id)を作成しました。ユーザー ID を引数として受け取り、ajax を使用してデータベースから関連するすべての情報を取得します。次に、すべての情報を div に入れます。i は print メソッドを使用してその div を印刷します。残念ながら、PrintElem()メソッドは div の以前のコンテンツを出力します (その ID に関連するサーバーから取得した現在のコンテンツではありません)。divに別の印刷ボタンを追加することでそれを行うことができますが、PrintData()メソッドがそれらの情報をそのdivに設定するとすぐにそれらの情報を印刷したいと思います。ここに私がそれを達成しようとしたサンプルコードがあります。さらに情報があればお気軽にお尋ねください。

function PrintData(id){
    var Data= "task=showuserdetail&id="+id;
    $.ajax({
        url:"taskprocess.php" ,
        data:Data,
        cache:false,
        dataType:'json',
        type:'POST',
        success: function(output){
            if(output[0] !=0){
                $('#viewDetail').show();     //main Div name
                $('#userID_Retrieve').html(id);
                $('#name').html(output[0]);
                $('#userName').html(output[1])
                $('#accountType').html(output[2]);
                $('#accountGroup').html(output[4]);
                $('#creationDate').html(output[6]);
                $('#streetAddress').html(output[7]);
                $('#state').html(output[8]);
                $('#city').html(output[9]);
                $('#birthDate').html(output[10]);
                $('#phoneNumber').html(output[11]);
            }
        },
        error:function (a, b , c){
            alert(a+" "+" "+c);
        }
    });
    PrintElem('#userDetail');
    return false;
}

その他の方法

function PrintElem(elem)
{
    Popup($(elem).html());
}

function Popup(data) 
{
    var mywindow = window.open('', 'my div', 'height=400,width=600');
    mywindow.document.write('<html><head><title>Your details</title>');        
    mywindow.document.write('</head><body >');
    mywindow.document.write(data);
    mywindow.document.write('</body></html>');
    mywindow.print();
    mywindow.close();
    return true;
}
4

1 に答える 1