Opa:提交表单时阻止页面重新加载

时间:2011-10-09 10:12:38

标签: opa

在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中似乎不是一个选项)

感谢您的帮助。

1 个答案:

答案 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"))))