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

WFormBuilderフォームのhtmlと検証エラーメッセージを細かく制御する必要があるため、使用を避けています(これは、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 に答える