invert prevent default on web forms
This commit is contained in:
1 parent
1578cbeda4
commit
bf2d561be4
1 file changed
+9
-8
@@ -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();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in new issue
Block a user