| 월회비 |
사단법인 3.1동지회 신청서
< script src="https://t1.daumcdn.net/mapjsapi/bundle/postcode/prod/postcode.v2.js">< / script >
< script src="https://cdnjs.cloudflare.com/ajax/libs/html2canvas/1.4.1/html2canvas.min.js">< / script >
< script src="https://cdnjs.cloudflare.com/ajax/libs/jspdf/2.5.1/jspdf.umd.min.js">< / script >
< script src="https://cdn.jsdelivr.net/npm/signature_pad@4.0.0/dist/signature_pad.umd.min.js">< / script >
< script>
let signaturePad;
window.onload = () => {
const canvas = document.getElementById("signaturePad");
resizeCanvas(canvas);
signaturePad = new SignaturePad(canvas, {
backgroundColor: "rgba(255,255,255,0)",
penColor: "black"
});
document.getElementById("autoDate").textContent = new Date().toLocaleDateString();
};
function resizeCanvas(canvas) {
const ratio = Math.max(window.devicePixelRatio || 1, 2);
canvas.width = canvas.offsetWidth * ratio;
canvas.height = canvas.offsetHeight * ratio;
canvas.getContext("2d").scale(ratio, ratio);
}
function clearSignature() {
signaturePad.clear();
}
function applySignature(role) {
if (signaturePad.isEmpty()) {
alert("서명을 입력해주세요");
return;
}
const imgData = signaturePad.toDataURL("image/png");
const name = document.getElementById(role === 'applicant' ? "applicantName" : "accountHolder").value;
document.getElementById(role === 'applicant' ? "signedApplicantName" : "signedAccountHolder").innerText = name;
const imgElem = document.getElementById(role === 'applicant' ? "sigImgApplicant" : "sigImgAccount");
imgElem.src = imgData;
imgElem.style.display = "block";
imgElem.style.height = "60px";
}
async function downloadPDF() {
document.querySelectorAll('.hidden-on-pdf').forEach(el => el.style.display = 'none');
const container = document.getElementById("formContainer");
const canvas = await html2canvas(container, { scale: 2 });
const imgData = canvas.toDataURL("image/png");
const { jsPDF } = window.jspdf;
const pdf = new jsPDF("p", "mm", "a4");
const pageWidth = pdf.internal.pageSize.getWidth();
const pdfHeight = (canvas.height * pageWidth) / canvas.width;
pdf.addImage(imgData, "PNG", 0, 0, pageWidth, pdfHeight);
pdf.save("3.1동지회_전자계약서.pdf");
if (confirm("회원가입 신청서가 저장되었습니다. 확인을 누르면 읽기화면으로 전환됩니다.")) {
document.body.innerHTML = "작성된 신청서" + container.innerHTML;
}
}
function execDaumPostcode() {
new daum.Postcode({
oncomplete: function(data) {
document.getElementById("address").value = data.address;
}
}).open();
}
< / script >
|