diff options
Diffstat (limited to 'src/server/buffer.nim')
-rw-r--r-- | src/server/buffer.nim | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/src/server/buffer.nim b/src/server/buffer.nim index 1e97a4bb..24dc7d3d 100644 --- a/src/server/buffer.nim +++ b/src/server/buffer.nim @@ -1200,8 +1200,17 @@ type ReadSuccessResult* = object repaint*: bool func implicitSubmit(input: HTMLInputElement): Option[Request] = - if input.form != nil and input.form.canSubmitImplicitly(): - return submitForm(input.form, input.form) + let form = input.form + if form != nil and form.canSubmitImplicitly(): + var defaultButton: Element + for element in form.elements: + if element.isSubmitButton(): + defaultButton = element + break + if defaultButton != nil: + return submitForm(form, defaultButton) + else: + return submitForm(form, form) proc readSuccess*(buffer: Buffer, s: string): ReadSuccessResult {.proxy.} = if buffer.document.focus != nil: |