Stephan: mehrere Formulare auf einer Seite

Beitrag lesen

Hallo,

der Originalcode ist much too long, daher mal die entscheidenden Passagen aus PHP und dem generierten HTML - da ist mir nämlich was SEHR Merkwürdiges aufgefallen :

  <?php
  for($i=1;$i<=$reiter;$i++) {
    echo '
    <form name="massen'.$i.'" method="post" action="buchen_view_tabbed.php?"'.$i.'>
      <input type="hidden" name="expand'.$i.'" value="" />
      (usw.)
      <div class="liknotabs_body" style="display: none;">
        <table width=100%>
          <tr style="text-align:left">
            <th>AufNr.</th><th>BS</th><th>HB</th><th>'.$tabcoltxt.'</th><th>Std.</th><th>Mat. €</th><th>MatText</th><th>erl.</th><th>&#160;</th>
          </tr>
            '.$td[$i].'
          <tr><td colspan="9">&#160;</td></tr>
          <tr>
            <td>&#160;</td>
            <td colspan="8" class="buttonleiste">
              <input type="submit" name="massensave'.$i.'" value="Speichern">
              <input type="reset" value="Felder leeren" />
              <input type="button" value="Abbrechen" onClick="window.location.href=\'index.php\'">
            </td>
          </tr>
        </table>
      </div>

    </form>
    ';
  }
  ?>

Das angehängte "?$i" im action-attribut ist nur zwecks Fehlersuche.

Folgendes HTML wird generiert (aus nur die wichtigen Passagen) :

    <form name="massen1" method="post" action="buchen_view_tabbed.php?1">
      <input type="hidden" name="expand1" value="" />
      (usw.)
      <div class="liknotabs_body" style="display: none;">
        <table width=100%>
        (Ausgabe der Tabelle spar ich mir)
          <tr>
            <td>&#160;</td>
            <td colspan="8" class="buttonleiste">
              <button form="massen1" type="submit" name="massensave1">Speichern</button>
              <input type="reset" value="Felder leeren" />
              <input type="button" value="Abbrechen" onClick="window.location.href='index.php'">
            </td>
          </tr>
        </table>
      </div>

    </form>
    
    <form name="massen2" method="post" action="buchen_view_tabbed.php?2">
     (usw.)

Mir fällt auf, dass das generierte Form-Tag immer korrekt ist, also hinter dem action-attribut immer die korrekte Form-Nummerierung steht. Mouse-Over ich aber den Button (wie gesagt, auch wahlweise ein input-submit) zeigt mir die Statusleiste als Ziel IMMER die Zahl der letzten Tabelle (bei mir 7) und tatsächlich wird grundsätzlich das action-doc ?7 geöffnet ...

Habe nochmals Tidy-Validate-HTML laufen lassen - der meckert nicht !