3

在 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}]))

我避免使用,因为我需要对表单的 html 和验证错误消息进行细粒度控制(当我尝试它时,WFormBuilder这似乎不是一个选项)。WFormBuilder

谢谢你的帮助。

4

1 回答 1

3

的源代码WFormBuilder,我以 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"))))
于 2011-10-10T02:38:31.487 回答