mirror of
https://github.com/cisagov/manage.get.gov.git
synced 2025-08-15 05:54:11 +02:00
merge 2908 and 2909 into bundle
This commit is contained in:
commit
8e1999d3b8
3 changed files with 26 additions and 3 deletions
19
src/registrar/assets/src/js/getgov/form-errors.js
Normal file
19
src/registrar/assets/src/js/getgov/form-errors.js
Normal file
|
@ -0,0 +1,19 @@
|
||||||
|
export function initFormErrorHandling() {
|
||||||
|
document.addEventListener('DOMContentLoaded', function() {
|
||||||
|
const errorSummary = document.getElementById('form-errors');
|
||||||
|
const firstErrorField = document.querySelector('.usa-input--error');
|
||||||
|
if (firstErrorField) {
|
||||||
|
// Scroll to the first field in error
|
||||||
|
firstErrorField.scrollIntoView({ behavior: 'smooth', block: 'center' });
|
||||||
|
|
||||||
|
// Add focus to the first field in error
|
||||||
|
setTimeout(() => {
|
||||||
|
firstErrorField.focus();
|
||||||
|
}, 50);
|
||||||
|
} else if (errorSummary) {
|
||||||
|
// Focus on the error summary for screen reader users
|
||||||
|
errorSummary.scrollIntoView({ behavior: 'smooth', block: 'center' });
|
||||||
|
}
|
||||||
|
|
||||||
|
});
|
||||||
|
}
|
|
@ -15,6 +15,7 @@ import { initDomainRequestForm } from './domain-request-form.js';
|
||||||
import { initDomainManagersPage } from './domain-managers.js';
|
import { initDomainManagersPage } from './domain-managers.js';
|
||||||
import { initDomainDSData } from './domain-dsdata.js';
|
import { initDomainDSData } from './domain-dsdata.js';
|
||||||
import { initDomainDNSSEC } from './domain-dnssec.js';
|
import { initDomainDNSSEC } from './domain-dnssec.js';
|
||||||
|
import { initFormErrorHandling } from './form-errors.js';
|
||||||
|
|
||||||
initDomainValidators();
|
initDomainValidators();
|
||||||
|
|
||||||
|
@ -45,8 +46,9 @@ initDomainManagersPage();
|
||||||
initDomainDSData();
|
initDomainDSData();
|
||||||
initDomainDNSSEC();
|
initDomainDNSSEC();
|
||||||
|
|
||||||
|
initFormErrorHandling();
|
||||||
|
|
||||||
// Init the portfolio new member page
|
// Init the portfolio new member page
|
||||||
initPortfolioMemberPageRadio();
|
initPortfolioMemberPageRadio();
|
||||||
initPortfolioNewMemberPageToggle();
|
initPortfolioNewMemberPageToggle();
|
||||||
initAddNewMemberPageListeners();
|
initAddNewMemberPageListeners();
|
||||||
//ignore, testing why test fails in pipeline
|
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
{% if form.errors %}
|
{% if form.errors %}
|
||||||
|
<div id="form-errors">
|
||||||
{% for error in form.non_field_errors %}
|
{% for error in form.non_field_errors %}
|
||||||
<div class="usa-alert usa-alert--error usa-alert--slim margin-bottom-2">
|
<div class="usa-alert usa-alert--error usa-alert--slim margin-bottom-2" role="alert">
|
||||||
<div class="usa-alert__body">
|
<div class="usa-alert__body">
|
||||||
{{ error|escape }}
|
{{ error|escape }}
|
||||||
</div>
|
</div>
|
||||||
|
@ -15,4 +16,5 @@
|
||||||
</div>
|
</div>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
|
</div>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue