Skip to content

Commit

Permalink
capricorn86#1173@patch: HTMLInputElement[type=submit] and HTMLButtonE…
Browse files Browse the repository at this point in the history
…lement set form submitter on click.
  • Loading branch information
aaltepet committed Dec 4, 2023
1 parent 9a0062b commit 2b3f475
Show file tree
Hide file tree
Showing 3 changed files with 9 additions and 3 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -211,7 +211,7 @@ export default class HTMLButtonElement extends HTMLElement implements IHTMLButto
const form = <IHTMLFormElement>this._formNode;
switch (this.type) {
case 'submit':
form.requestSubmit();
form.requestSubmit(this);
break;
case 'reset':
form.reset();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1205,7 +1205,7 @@ export default class HTMLInputElement extends HTMLElement implements IHTMLInputE
} else if (inputType === 'submit') {
const form = <IHTMLFormElement>this._formNode;
if (form) {
form.requestSubmit();
form.requestSubmit(this);
}
} else if (inputType === 'reset' && this.isConnected) {
const form = <IHTMLFormElement>this._formNode;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ import Window from '../../../src/window/Window.js';
import Document from '../../../src/nodes/document/Document.js';
import IHTMLButtonElement from '../../../src/nodes/html-button-element/IHTMLButtonElement.js';
import Event from '../../../src/event/Event.js';
import SubmitEvent from '../../../src/event/events/SubmitEvent';
import IHTMLElement from '../../../src/nodes/html-element/IHTMLElement.js';
import IHTMLFormElement from '../../../src/nodes/html-form-element/IHTMLFormElement.js';
import ValidityState from '../../../src/validity-state/ValidityState.js';
Expand Down Expand Up @@ -255,11 +256,16 @@ describe('HTMLButtonElement', () => {

document.body.appendChild(form);

form.addEventListener('submit', () => submitTriggeredCount++);
let submitter: IHTMLElement | null = null;
form.addEventListener('submit', (event) => {
submitTriggeredCount++;
submitter = (<SubmitEvent>event).submitter;
});

button.click();

expect(submitTriggeredCount).toBe(1);
expect(submitter).toEqual(button);
});

it('Resets form if type is "reset" and is a "click" event.', () => {
Expand Down

0 comments on commit 2b3f475

Please sign in to comment.