From 96e80cc2fc611de081a66a3242862ea538ec117f Mon Sep 17 00:00:00 2001 From: Pierre Tachoire Date: Mon, 24 Nov 2025 09:13:41 +0100 Subject: [PATCH] form: enter must send the form for all input --- src/browser/page.zig | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/src/browser/page.zig b/src/browser/page.zig index f99dca7a..206c3f7e 100644 --- a/src/browser/page.zig +++ b/src/browser/page.zig @@ -1016,24 +1016,22 @@ pub const Page = struct { const node = parser.eventTargetToNode(target); const tag = (try parser.nodeHTMLGetTagType(node)) orelse return; - log.debug(.input, "key down event", .{ .tag = tag }); - const kbe: *parser.KeyboardEvent = @ptrCast(event); var new_key = try parser.keyboardEventGetKey(kbe); if (std.mem.eql(u8, new_key, "Dead")) { return; } - + log.debug(.input, "key down event", .{ .tag = tag, .key = new_key }); switch (tag) { .input => { const element: *parser.Element = @ptrCast(node); const input_type = try parser.inputGetType(@ptrCast(element)); - if (std.mem.eql(u8, input_type, "text")) { - if (std.mem.eql(u8, new_key, "Enter")) { - const form = (try self.formForElement(element)) orelse return; - return self.submitForm(@ptrCast(form), null); - } + if (std.mem.eql(u8, new_key, "Enter")) { + const form = (try self.formForElement(element)) orelse return; + return self.submitForm(@ptrCast(form), null); + } + if (std.mem.eql(u8, input_type, "text")) { const value = try parser.inputGetValue(@ptrCast(element)); const new_value = try std.mem.concat(self.arena, u8, &.{ value, new_key }); try parser.inputSetValue(@ptrCast(element), new_value);