F# 使用enter键提交

F# 使用enter键提交,f#,websharper,F#,Websharper,当按下按键事件时,是否有一种惯用方法触发formlet's submit操作 我应该回到DOM操作,还是有一些增强功能可以使用?不幸的是,目前还没有标准的方法来实现这一点。不过,我们确实打算在未来的版本中添加它,作为Enhance组合器或Enhance.WithCustomSubmit*的新选项 实际上,我们在创建时遇到了相同的问题,我们使用了以下解决方法: [<JavaScript>] let TriggerOnEnter (formlet : Formlet<'T>)

当按下按键事件时,是否有一种惯用方法触发formlet's submit操作


我应该回到DOM操作,还是有一些
增强功能可以使用?

不幸的是,目前还没有标准的方法来实现这一点。不过,我们确实打算在未来的版本中添加它,作为
Enhance
组合器或
Enhance.WithCustomSubmit*
的新选项

实际上,我们在创建时遇到了相同的问题,我们使用了以下解决方法:

[<JavaScript>]
let TriggerOnEnter (formlet : Formlet<'T>) =
    formlet
    |> Formlet.MapElement (fun elem ->
        let e = JQuery.JQuery.Of(elem.Body)
        e.Keypress(fun _ k ->
            // Opera uses charCode
            if k?keyCode = 13 || k?charCode = 13 then
                JavaScript.SetTimeout (fun _ ->
                    e.Find("input[type=button]").Trigger("click").Ignore
                ) 100 |> ignore
            k.StopPropagation()
        ).Ignore
        elem
    )
[]

让TriggerOnEnter(formlet:formlet您的解决方案就像一个符咒。要查找提交按钮,您可以增强查询:
e.find(“输入[type=button][class='submitButton']))
。但是,如果使用带有CustomSubmitButton
,样式名称可能会有所不同。我不太熟悉如何在按钮布局中找到实际的样式名称。