[pdm-devel] [PATCH yew-comp] wizard: prevent page reload when pressing enter in form

Dominik Csapak d.csapak at proxmox.com
Thu Dec 11 14:32:15 CET 2025


When pressing enter while the focus is inside a `Form` element, the
browser tries to submit the form, and the default method is to send the
data to the page via GET parameters.

This can lead to unwanted refreshes, e.g. in PDM the remote wizard would
change the url from
 https://<hostname>:8443/#/
to
 https://<hostname>:8443/?#/

which refreshed the page.

To prevent that, use `event.prevent_default()` in the onsubmit handler,
since we handle submitting the data ourselves there.

Signed-off-by: Dominik Csapak <d.csapak at proxmox.com>
---
 src/wizard.rs | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/src/wizard.rs b/src/wizard.rs
index 802a816..7d83da1 100644
--- a/src/wizard.rs
+++ b/src/wizard.rs
@@ -524,7 +524,8 @@ impl Component for PwtWizard {
                 .form_context(form_ctx.clone())
                 .onsubmit(ctx.link().batch_callback({
                     let state = self.controller.clone();
-                    move |_| {
+                    move |event: SubmitEvent| {
+                        event.prevent_default(); // don't reload the page
                         if !state.read().can_progress() {
                             return None;
                         }
-- 
2.47.3





More information about the pdm-devel mailing list