From 4baf1722a628903e6c4f9eee86a9a9bda8a8664f Mon Sep 17 00:00:00 2001 From: paoloricciuti Date: Sun, 5 May 2024 00:08:15 +0200 Subject: [PATCH] fix: use getAttribute instead of .value --- .../svelte/src/internal/client/dom/elements/attributes.js | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/packages/svelte/src/internal/client/dom/elements/attributes.js b/packages/svelte/src/internal/client/dom/elements/attributes.js index b31bb12ac5..e3816a733f 100644 --- a/packages/svelte/src/internal/client/dom/elements/attributes.js +++ b/packages/svelte/src/internal/client/dom/elements/attributes.js @@ -16,10 +16,12 @@ import * as w from '../../warnings.js'; */ export function remove_input_attr_defaults(dom) { if (hydrating) { - const value = dom.value; + // using getAttribute instead of dome.value allow us to have + // null instead of "on" if the user didn't set a value + const value = dom.getAttribute('value'); set_attribute(dom, 'value', null); set_attribute(dom, 'checked', null); - dom.value = value; + if (value) dom.value = value; } }