GithubHelp home page GithubHelp logo

Comments (7)

pablohirafuji avatar pablohirafuji commented on July 23, 2024

Hey,
If I understood corretly, you should use the onSubmit attribute in the Html.Events package, like:

view : ViewModel -> Html Msg
view model =
    Html.form
        [ Html.Events.onSubmit (onSubmitMsg model.form) ]
        [ ... -- Your form view
        , Html.button [ type' "submit" ] [ text "Send" ]
        ]

onSubmitMsg form =
    case Form.getOutput form of
        Nothing -> FormMsg Form.Submit
        Just validForm -> Submit validForm

This works because the onSubmit event already comes with preventDefault = True. If you need different behavior, use onWithOptions to create a customized version of onSubmit.

from elm-form.

etaque avatar etaque commented on July 23, 2024

Hello,
Do you want to prevent the browser submit event or something else?
Could you provide some code to show what you're trying to do?

from elm-form.

chalmagean avatar chalmagean commented on July 23, 2024

I haven't got chance to try what @pablohirafuji said but yes, what I want is to prevent the browser submitting the form if validations are not passing.

from elm-form.

etaque avatar etaque commented on July 23, 2024

Okey, so alternatively you can also use a basic button for submit, or avoid using the form tag.

from elm-form.

chalmagean avatar chalmagean commented on July 23, 2024

Not using the form tag means I loose a few things like auto submit on enter (and not sure if it's valid HTML).

Here's the code: https://gist.github.com/chalmagean/f06eea7cf00c156456f463621958d848

The problems is that Html.form expects List (Html Msg) and I'm giving it List (Html Form.Msg). So I'm still not sure how to fix this.

from elm-form.

pablohirafuji avatar pablohirafuji commented on July 23, 2024

Hey,
On submit you are double mapping to FormMsg (in line 70 as Html.map FormMsg and line 113 FormMsg Form.Submit). Don't map the attributes, just the formView, and you will have to handle the Submit case. Here's an example: https://gist.github.com/pablohirafuji/46c452341853f8693dee5fa90c877731.

from elm-form.

chalmagean avatar chalmagean commented on July 23, 2024

@pablohirafuji sweet! That seems to work. Thank you.

from elm-form.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.