Formular im Formular

CreativPur

Erfahrenes Mitglied
Hi,

ich habe ein Formular mit einem Submit-Button "speichern".
HTML:
<form  action="?mail_versenden" method="post" onSubmit="return chkFormular()" name="Formular">

.........

<input type="submit" id="submit" name="submit"  class="btn btn-info" value="speichern" />
</form>

Nach dem Speichern soll ein anderer Button "weiter" eingeblendet werden und der Button "speichern" ausgeblendet.
Dies habe ich folgend gelöst..
PHP:
<form  action="?mail_versenden" method="post" onSubmit="return chkFormular()" name="Formular">

.........

<?php
if(isset($_POST['submit']))
{
echo '

<form action="gesendete_bw_emails_pruefen.php" method="GET"">
    <input  class="form-control" type="hidden" name="bewerbungscode" value="<?php echo $bewerbungscode ?>">
    <input  class="form-control" type="hidden" name="userid" value="<?php echo $userid ?>">
    <input  class="form-control" type="hidden" name="anschreibe_code" value="<?php echo $anschreibe_code ?>">
    <input  class="form-control" type="hidden" name="design_code" value="<?php echo $design_code ?>">
    <input type="submit" class="btn btn-success" value="weiter">
</form>
';
}
else
{
?>

<input type="submit" id="submit" name="submit"  class="btn btn-info" value="speichern" />
</form>

<?php
}
?>
</form>

Das Ein,- und Ausblenden funktioniert auch.. ABER..

Leider habe ich jetzt zwei Formulare mit zwei verschiedenen SUBMIT-Button auf der Seite.
Logischerweise tritt beim betätigen beider Buttons nur das Haupt-Formular ein.
Wie kann ich dies ändern ?
 
Zunächst ist dies kein PHP Problem.
Nur weil du PHP nutzt muss es kein PHP Problem sein.

Du kannst das ändern, indem du dich an die Vorgaben des W3C hältst und die Form nicht verschachtelst.
Nur weil es Browser so ordentlich anzeigen heißt das noch lange nicht, dass dies auch richtig Funktioniert.

Denn in der Deklaration des W3C steht:
https://www.w3.org/TR/html5/forms.html#the-form-element hat gesagt.:
Content model:
Flow content, but with no form element descendants.

Das bedeute in dem Form können Flow Content Elemente enthalten, aber keine form Elemente.

Was beabsichtigst du überhaupt durch die Verschaltelung?
 
Das script muss im ersten Formular sein, da es sonst nicht funktioniert. Es gibt normalerweise nur einen Text aus, wie z.B. der Button "Speicher wurde gedrückt". Ich wollte dass eben anstatt der Text der Button "weiter" ausgegeben wird.
 
Hi CreativPur,

ich sehe keinen Grund warum die Formulare nicht nacheinander angeordnet werden können.
Was genau passiert denn, wenn du Formular 2 vor Formular 1 platzierst?

Viele Grüße
goto;
 
Ich habe es jetzt doch hin bekommen.

PHP:
<form 1>
xxxxxxxxxx
</form>                         
                        <?php
                            if(isset($_POST['submit']))
                            {
                            echo '
                          
                            <form action="gesendete_bw_emails_pruefen.php" method="GET">
                                <input  class="form-control" type="hidden" name="bewerbungscode" value="'.$bewerbungscode.'">
                                <input  class="form-control" type="hidden" name="userid" value="'.$userid.'">
                                <input  class="form-control" type="hidden" name="anschreibe_code" value="'.$anschreibe_code.'">
                                <input  class="form-control" type="hidden" name="design_code" value="'.$design_code.'">
                                <input type="submit" class="btn btn-success" name="submit_weiter" value="weiter">
                            </form>
                             ';
                            }
                            else
                            {
                        ?>

                        <input type="submit" id="submit" name="submit"  class="btn btn-info" value="speichern" />

                        <?php
                        }
                        ?>
ich habe den Button "speichern" einfach außerhalb des ersten Forms gesetzt..
 
Zurück