LiftのFormが勝手にAjax用に・・・

Liftは色々便利っぽいんだけど、日本語の情報が少ない。というか英語の情報すら少ない。

つい最近はまった事。Liftのフォームで、通常通りSnippetに情報を渡して次の画面に遷移して欲しい所なのに、勝手にAjaxのフォームになってしまう。

ビューのhtmlファイルに以下のように書いた。

<lift:OAuthTest.test form="POST">
<lift:form>
<test:button />
</lift:form>
</lift:OAuthTest.test>

生成されたHTMLは以下の通り。

<form action="/" method="post">
<form id="F1135585049605GDO" action="javascript://" onsubmit="liftAjax.lift_ajaxHandler(jQuery('#'+&quot;F1135585049605GDO&quot;).serialize(), null, null, &quot;javascript&quot;);return false;">
<input name="F1135585059604LJH" type="submit" value="Authenticate?" />
</form>
</form>

この時点でちゃんとHTMLを見とけば良かったんだけど、最初はformタグが2重になってる事に気づかなかった。で、中のformのactionがjavascriptなので、画面遷移できない。

結局以下のように書き換えた所

<lift:OAuthTest.test form="POST">
<test:button />
</lift:OAuthTest.test>

以下のようなHTMLが生成された。

<form action="/" method="post">
<input name="F2154146126QXW" type="submit" value="Submit!" />
</form>

環境

  • Lift 2.1
  • Scala 2.8.0

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です