人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

『PEAR HTML_QuickForm+SMARTYを使用してフォーム検証が動作しない問題』

Formの値を送信の際に、Javascriptを呼び出して任意の値とフォームの値を持ちながら次のページに問題なく移動し変数も渡されていますが、QuickFormで設定したルール違反を行っても、アラートとも出ないまま、スルーしてページを移動してしまいます。

QuickFormの検証の記述のタイミングが悪いのでしょうか?

また現状のように、QuickFormの検証ルールが呼び出して展開するJavaScriptをSmartyのテンプレートに先回りして記述してよいのでしょうか?…

色々と試してみましたが、初級者の私には解決が出来ずにおります。

解決の糸口をご存知の方がいましたら、ご教授いただけると助かります。

サンプルコードはこちらを参照ください。
→http://kinsekitei.com/prototype/sample.html


よろしくお願いします。

●質問者: DrArabes
●カテゴリ:コンピュータ
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● じゅぴたー
●300ポイント ベストアンサー

検証のJavaScriptを別に用意したのでしょうか?

QuickFormが生成する関数と名前の衝突が起こり、これらの関数がエラーを起こし、正常に機能しないのだと思います。

検証用関数はQuickFormに任せるか、QuickFormを使わずに自力で検証用関数を用意するかの2つに1つの選択になると思います。

◎質問者からの返答

返信ありがとうございます。お世話になります!

検証用のJavaScriptを設置したわけでは有りません。Javascriptはショッピングカート用のものです。特に競合する関数名を見つける事もできませんでした。さらにカート用JSはテンプレートに記述しなくても作動しました。

動作の比較としてQuickFormのみとQuickForm+Smartyを見て気がついたことは、Smartyテンプレートを使用すると、QuickFormが書き出す検証用のJSがソースに書き出されていませんでした。テンプレートにて書き出す場所を設定するべきなのでしょうか?

要はQuickFormのaddRuleが作動していないってこと…これが不具合の原因なのかと思っております。これが仰る関数と名前の衝突でしょうか?

<検証が 作動 するファイル "HTML_QuickForm" >

http://kinsekitei.com/prototype/sample_b.html

<検証が 誤作動 するファイル "HTML_QuickForm+SMARTY" >

http://kinsekitei.com/prototype/sample_a.html


お手数ですが、ご教授いただけると助かります。

関連質問

●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ