Comments (3)
Update:
I tried a "regular" form:
{{ f = form_for @changeset, "#", [phx_change: :validate, phx_submit: :save] }}
{{ label f, :surname }}
{{ text_input f, :surname }}
{{ error_tag f, :surname }}
{{ label f, :given_name }}
{{ text_input f, :given_name }}
{{ error_tag f, :given_name }}
{{ label f, :email }}
{{ text_input f, :email }}
{{ error_tag f, :email }}
{{ submit "Save" }}
<#Raw></form></#Raw>
(1) remains - clicking the browser Back button doesn't work. It's probably an issue with LV and not Surface.
I see the following in the console (LiveView debugger), which seems to indicate the new content was pushed to the browser, but the DOM was not replaced.
For (2),
- Using the "regular" form, after navigating using the browser Back button to /home then back to /form again, the "validate" event does fire.
- I found a workaround that works with the Surface component - use
push_redirect(socket, to: "/home")
to navigate back instead of using the browser Back button.
However, this won't prevent users from using the Back button.
from surface.
Update: I managed to fix it.
It was due to a layout declaration in my LiveView. Once I removed it, the bugs went away.
defmodule AppWeb.StepperLive do
use Surface.LiveView, layout: {AppWeb.LayoutView, "live.html"}
# Don't put layout here, do it in router
# ...
end
Closing this issue.
from surface.
@ziazek I'm glad to know you've fixed.
Cheers.
from surface.
Related Issues (20)
- Elixir 1.15.0 app startup error HOT 5
- Bogus "undefined assign `@streams`." warning HOT 2
- Since update : no route found for POST after a <Form> is submitted HOT 1
- Improve error messaging when using `<#slot />` in template via `embed_sface/1` macro
- Setting which modules can pass context values outside of config
- Erlang Error in Elixir Language Server with Surface HOT 1
- [Using a plugin] Scoped CSS changes require two page reloads. HOT 1
- inputs_for/3 warning HOT 1
- Warnings on Select component with disabled property
- Props missing inside `handle_event()` `socket.assigns` map. HOT 3
- mix surface.init: no function clause matching in Sourceror.Zipper.down/1 HOT 3
- Support for LiveViewNative? HOT 5
- Submitted forms don't carry the "submitter" attribute
- Surface CSS scoping attributes don't work when root component is a component
- When using :on-click={"name", target="#target_id"} I cannot seem to get a sibling to target another sibling node that is rendered in the same parent. HOT 1
- Compatibility with LiveView 0.20 HOT 7
- Question: How would you make the sample tab component to use svg icons instead of font icons HOT 4
- Elixir 1.16: negative steps are not supported in String.slice/2, pass 1..-2//1 instead
- Malformed HTML when using LiveRedirect with another component inside HOT 1
- Mix.env() usage can cause troubles in release HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from surface.