3
keydown 이벤트가 눌려지면 내 formlet의 제출 작업을 트리거하는 관용적 인 방법이 있습니까?입력 키를 사용하여 제출
DOM 조작으로 다시 되돌려 놓아야합니까, 아니면 사용할 수있는 Enhance
임이 있습니까?
keydown 이벤트가 눌려지면 내 formlet의 제출 작업을 트리거하는 관용적 인 방법이 있습니까?입력 키를 사용하여 제출
DOM 조작으로 다시 되돌려 놓아야합니까, 아니면 사용할 수있는 Enhance
임이 있습니까?
불행히도 현재로서는 표준 방법이 없습니다. 우리는 Enhance
조합 자 또는 Enhance.WithCustomSubmit*
의 새 옵션으로 향후 버전에서 추가하려고합니다. FPish를 만들 때
[<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
)
주를, 그래서 당신은 확인하기 위해 jQuery를 선택을 조정해야 할 수도 있습니다 실제로 제출 버튼을 트리거합니다.
당신의 솔루션은 매력처럼 작동합니다. 제출 버튼을 찾으려면 다음과 같이 질의를 향상시킬 수 있습니다 :'e.Find ("input [type = button] [class = 'submitButton']")'. 그러나 WithCustomSubmitButton을 사용하면 스타일 이름이 달라질 수 있습니다. W #에 익숙하지 않아서 버튼 레이아웃에서 실제 스타일 이름을 찾는 방법을 알려주지 않습니다. – bytebuster