Set "type=button" for editor's toolbar buttons (#26510)

The editor usually is in a form, so the buttons should have
"type=button", avoid conflicting with the form's submit.
This commit is contained in:
wxiaoguang 2023-08-15 19:31:48 +08:00 committed by GitHub
parent e9d631ec03
commit d317c983bc
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -79,6 +79,8 @@ class ComboMarkdownEditor {
for (const el of this.textareaMarkdownToolbar.querySelectorAll('.markdown-toolbar-button')) { for (const el of this.textareaMarkdownToolbar.querySelectorAll('.markdown-toolbar-button')) {
// upstream bug: The role code is never executed in base MarkdownButtonElement https://github.com/github/markdown-toolbar-element/issues/70 // upstream bug: The role code is never executed in base MarkdownButtonElement https://github.com/github/markdown-toolbar-element/issues/70
el.setAttribute('role', 'button'); el.setAttribute('role', 'button');
// the editor usually is in a form, so the buttons should have "type=button", avoiding conflicting with the form's submit.
if (el.nodeName === 'BUTTON' && !el.getAttribute('type')) el.setAttribute('type', 'button');
} }
const monospaceButton = this.container.querySelector('.markdown-switch-monospace'); const monospaceButton = this.container.querySelector('.markdown-switch-monospace');