mirror of
https://github.com/zitadel/zitadel.git
synced 2025-04-21 13:21:32 +00:00

* feat: add terms on register and register org * feat: add terms on register and register org * update form_submit.js to handle checkboxes correctly * feat: free tier on org reg Co-authored-by: Livio Amstutz <livio.a@gmail.com>
45 lines
1.3 KiB
JavaScript
45 lines
1.3 KiB
JavaScript
function disableSubmit(checks, button) {
|
|
let form = document.getElementsByTagName('form')[0];
|
|
let inputs = form.getElementsByTagName('input');
|
|
button.disabled = true;
|
|
addRequiredEventListener(inputs, checks, form, button);
|
|
}
|
|
|
|
function addRequiredEventListener(inputs, checks, form, button) {
|
|
let eventType = 'input';
|
|
for (i = 0; i < inputs.length; i++) {
|
|
if (inputs[i].required) {
|
|
eventType = 'input';
|
|
if (inputs[i].type === 'checkbox') {
|
|
eventType = 'click';
|
|
}
|
|
inputs[i].addEventListener(eventType, function () {
|
|
toggleButton(checks, form, inputs, button);
|
|
});
|
|
}
|
|
}
|
|
}
|
|
|
|
function toggleButton(checks, form, inputs, button) {
|
|
if (checks !== undefined) {
|
|
if (checks() === false) {
|
|
button.disabled = true;
|
|
return
|
|
}
|
|
}
|
|
button.disabled = !allRequiredDone(form, inputs);
|
|
}
|
|
|
|
function allRequiredDone(form, inputs) {
|
|
for (i = 0; i < inputs.length; i++) {
|
|
if (inputs[i].required) {
|
|
if (inputs[i].type === 'checkbox' && !inputs[i].checked) {
|
|
return false
|
|
}
|
|
if (inputs[i].value === '') {
|
|
return false
|
|
}
|
|
}
|
|
}
|
|
return true;
|
|
} |