From 432367d91b2243bf8236f41cf88be858d3cbdb43 Mon Sep 17 00:00:00 2001 From: Aljaz S Date: Thu, 25 Nov 2021 12:37:09 +0100 Subject: [PATCH] change image to "invalid" on error --- src/views/form.ejs | 39 ++++++++++++++++++++++----------------- 1 file changed, 22 insertions(+), 17 deletions(-) diff --git a/src/views/form.ejs b/src/views/form.ejs index 33a182c..285b7dc 100644 --- a/src/views/form.ejs +++ b/src/views/form.ejs @@ -105,23 +105,28 @@ function updateQRdeb () { }, 500); } function updateQR (e) { - const qstring = [ - ["client_name", val("client-name")], - ["client_address", val("client-address")], - ["client_city", val("client-city")], - ["amount", val("amount")], - ["purpose_code", val("code")], - ["payment_purpose", val("purpose")], - ["iban", val("iban")], - ["reference", val("reference")], - ["issuer_name", val("issuer-name")], - ["issuer_address", val("issuer-address")], - ["issuer_city", val("issuer-city")], - ].map(v => `${v[0]}=${v[1]}`).join("&") - const newurl = `/api/qrcode?${qstring}` - const preloadImg = new Image(); - preloadImg.addEventListener("load", () => qrcode.style.setProperty('background-image', `url("${newurl}"), url("/public/invalid-content.png")`)) - preloadImg.src=newurl; + try { + const qstring = [ + ["client_name", val("client-name")], + ["client_address", val("client-address")], + ["client_city", val("client-city")], + ["amount", val("amount")], + ["purpose_code", val("code")], + ["payment_purpose", val("purpose")], + ["iban", val("iban")], + ["reference", val("reference")], + ["issuer_name", val("issuer-name")], + ["issuer_address", val("issuer-address")], + ["issuer_city", val("issuer-city")], + ].map(v => `${v[0]}=${v[1]}`).join("&") + const newurl = `/api/qrcode?${qstring}` + const preloadImg = new Image(); + preloadImg.addEventListener("load", () => qrcode.style.setProperty('background-image', `url("${newurl}"), url("/public/invalid-content.png")`)) + preloadImg.addEventListener("error", () => qrcode.style.setProperty('background-image', `url("/public/invalid-content.png")`)) + preloadImg.src=newurl; + } catch (error) { + setImgUrl(`url("/public/invalid-content.png")`) + } } for (el of inputs) { el.addEventListener("input", updateQRdeb)