mirror of
https://github.com/mCaptcha/mCaptcha.git
synced 2026-02-11 10:05:41 +00:00
fix: initialize DOM elements only when executing methods/in pages that
contain those elements
SUMMARY
Trying to grab elements globally in a script results in it trying to
initialize in all pages. When the element is absent, the script
fails and JavaScript crashes.
This commit is contained in:
@@ -30,14 +30,6 @@ export const FORM = <HTMLFormElement>(
|
||||
document.querySelector(`.${SITE_KEY_FORM_CLASS}`)
|
||||
);
|
||||
|
||||
export const AVG_TRAFFIC = <HTMLInputElement>FORM.querySelector("#avg_traffic");
|
||||
export const PEAK_TRAFFIC = <HTMLInputElement>(
|
||||
FORM.querySelector("#peak_sustainable_traffic")
|
||||
);
|
||||
export const BROKE_MY_SITE_TRAFFIC = <HTMLInputElement>(
|
||||
FORM.querySelector("#broke_my_site_traffic")
|
||||
);
|
||||
|
||||
export const addSubmitEventListener = (): void =>
|
||||
FORM.addEventListener("submit", submit, true);
|
||||
|
||||
@@ -57,6 +49,16 @@ export const validate = (e: Event): TrafficPattern => {
|
||||
|
||||
let broke_is_set = false;
|
||||
|
||||
const AVG_TRAFFIC = <HTMLInputElement>(
|
||||
FORM.querySelector("#avg_traffic")
|
||||
);
|
||||
const PEAK_TRAFFIC = <HTMLInputElement>(
|
||||
FORM.querySelector("#peak_sustainable_traffic")
|
||||
);
|
||||
const BROKE_MY_SITE_TRAFFIC = <HTMLInputElement>(
|
||||
FORM.querySelector("#broke_my_site_traffic")
|
||||
);
|
||||
|
||||
isBlankString(AVG_TRAFFIC.value, avg_traffic_name);
|
||||
isBlankString(PEAK_TRAFFIC.value, peak_traffic_name);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user