2009-07-28 5 views
0

cakephpとfirefoxでネストされたajaxフォームを使用できますか?すなわちcakePhpとFirefoxのネストされたajaxフォームの問題

 
$ajax->form(form1...) 
    table 
    row 
     $ajax->form(childForm_rowId) 
     $form->end(childForm_rowId) 
    endrow 
    end table 
$form->end 

は、私は、これはIE7で動作しますが、ないFirefoxでは3.5.1 FirefoxがchildForm宣言を省略しますので、それがあるとき、子フォーム(childForm_rowId)が最初にフォーム(Form1)アクションを使用しますました私たちが望むものではありません。

どうすればこの問題を回避できますか?

答えて

1

複数のFORM要素が相互にネストされているのは、無効なHTMLです。

あなたの戦略を再検討することを強くお勧めします。

  • 表示目的でのみ行う場合は、CSSと位置付けで同様の効果を得ることができます。
  • あなたが外のフォームを「拡張」と、それはプロパティ/入力です使用し、その後、あなたのJavaScriptでカスタムフォーム処理機能が必要になります
0

フォームを簡単にネストすることはできません。この役割が壊れていると、ブラウザによって反応が異なります。必要なものによっては、フォームを入れ子にすることなくカスタムJavascriptを実行する必要があります。

0

にインナーフォームをしたい場合は悲しいことに、私は似た何かをしようとしたとFF 3.5.1と同じ結果を得ました。私は自分のフォームを入れ子にしませんでしたが、AJAXとFF 3.5.1を介してページにフォームを追加しただけで、2番目のフォーム宣言はまだ省略されていました。他のすべてのブラウザはFFの他のバージョンを含むテストでは、次のようになります。

<div><form><input /><input /></form></div> 
<div><form><input /><input /></form></div> 

をしかし、FFで、それは次のように出てきた3.5.1:

<div><form><input /><input /></form></div> 
<div><input /><input /></form></div> 

私はまだこれに対する解決策を探しています私の訪問者の8%が3.5.1を使用しているので、幸いにも最初のフォームからのアクションは非常に望ましくないわけではありませんが、同じことをするためには2回のクリックが必要です。

関連する問題