2009-07-28 3 views
0

Ist es möglich, eine verschachtelte Ajax-Form in CakePHP und Firefox zu haben? dhProblem mit CakePhp und verschachtelte Ajax-Form in Firefox 3.5

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

Ich fand das funktioniert in IE7, aber nicht in Firefox 3.5.1 Firefox wird die Child Erklärung, so dass die untergeordneten Formulare (childForm_rowId) wird verwenden, um die erste Form (form1) Aktion weglassen, wenn es eingereicht, was nicht das ist, was wir wollen.

Irgendeine Idee, wie kann ich das umgehen?

Antwort

1

Die Verschachtelung mehrerer FORM-Elemente untereinander ist nicht gültig HTML.

Ich rate Ihnen dringend, Ihre Strategie zu überdenken.

  • Wenn Sie nur diese Zwecke zur Anzeige machen Sie einen ähnlichen Effekt mit CSS und Positionierung erreichen können.
  • Wenn Sie die innere Form zu ‚verlängern‘ wollen die äußere Form und verwenden es Eigenschaften/Eingänge dann müssen Sie eine benutzerdefinierte Form-Handling-Funktion in Ihrem Javascript
0

Sie können Formulare nicht verschachteln, so einfach. Verschiedene Browser reagieren unterschiedlich, wenn diese Rolle unterbrochen wird. Je nachdem, was Sie tun müssen, müssen Sie einige benutzerdefinierte Javascripting durchführen, ohne Formulare zu verschachteln.

0

Leider habe ich versucht, etwas Ähnliches zu tun und hat das gleiche Ergebnis in FF 3.5.1 erhalten. Ich habe meine Formulare nicht verschachtelt, sondern lediglich über AJAX und FF 3.5.1 ein Formular zu einer Seite hinzugefügt, aber die zweite Formulardeklaration weggelassen. In jedem anderen Browser mit anderen Versionen von FF getestet sieht es wie folgt aus:

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

Aber in FF 3.5.1 es so kam heraus:

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

ich dies nach einer Lösung suchen bin immer noch Da 8% meiner Besucher 3.5.1 verwenden, ist die Aktion von der ersten Form zum Glück nicht sehr unerwünscht, aber es dauert ein paar zusätzliche Klicks, um das Gleiche zu tun.