在Opa中,如何在提交表单时阻止页面重新加载?按下提交时,我想执行一些客户端验证,只有在验证通过后才提交表单。
我正在使用此表单:
<form onready={_ -> ready()} id=#form_id>
<input type="submit" value="Submit" />
</form>
此功能在提交时成功记录其消息,但仍重新加载页面:
ready() : void =
do ignore(Dom.bind(#form_id, {submit}, ( _ -> Log.notice("submit","submitted"))))
此功能无法记录其消息并重新加载页面:
ready() : void =
do ignore(Dom.bind_with_options(#form_id, {submit}, ( _ -> Log.notice("submit","submitted")), [{prevent_default}]))
我正在避免使用WFormBuilder
,因为我需要对表单的html和验证错误消息进行细粒度控制(当我尝试使用它时WFormBuilder
中似乎不是一个选项)
感谢您的帮助。
答案 0 :(得分:3)
在WFormBuilder
的{{3}}中,我发现此格式为html:options:onsubmit="prevent_default"
所以代码片段有我正在寻找的行为:
<form onready={_ -> ready()} id=#form_id options:onsubmit="prevent_default">
<input type="submit" value="Submit" />
</form>
ready() : void =
do ignore(Dom.bind(#form_id, {submit}, ( _ -> Log.notice("submit","submitted"))))