invert prevent default on web forms

This commit is contained in:
Evan Almloff committed 2023-04-04 09:32:09 -05:00
1 parent 1578cbeda4
commit bf2d561be4
1 file changed
+9 -8
+9 -8
View File
@@ -54,16 +54,17 @@ impl WebsysDom {
let element = walk_event_for_id(event); let element = walk_event_for_id(event);
let bubbles = dioxus_html::event_bubbles(name.as_str()); let bubbles = dioxus_html::event_bubbles(name.as_str());
if let Some((element, target)) = element { if let Some((element, target)) = element {
let prevent_default_attribute = target.get_attribute("dioxus-prevent-default");
let prevented_event = prevent_default_attribute
.as_deref()
.map(|f| f.trim_start_matches("on"));
// Prevent forms from submitting and redirecting // Prevent forms from submitting and redirecting
if name == "submit" { if name == "submit" {
event.prevent_default(); // On forms the default behavior is not to submit, if prevent default is set then we submit the form
} if prevented_event != Some("submit") {
if target event.prevent_default();
.get_attribute("dioxus-prevent-default") }
.as_deref() } else if prevented_event == Some(&name) {
.map(|f| f.trim_start_matches("on"))
== Some(&name)
{
event.prevent_default(); event.prevent_default();
} }