Christoph Schnauß: mehrere submit-buttons realisieren

Beitrag lesen

hallo Mike© ,

<form name="checkboxform" method="POST" action="handler.messages.php">
<!-- submit buttons -->
<input type="button" class="input" id="del" name="del" value="Markierte Löschen" onclick="document.checkboxform.submit();">
<input type="button" class="input" name="publish" id="publish" value="Markierte Freischalten" onclick="document.checkboxform.submit ();">
Was nu? Du hast IMHO JS und PHP wild gemischt. Also PHP oder JS

Es ist meines Erachtens falsch, hier eine Alternative "PHP<->JS" aufzumachen. PHP ist es wurscht, welchen Code es erzeugen soll, es schreibt HTML genauso wie Javascript oder irgendwas andres.
"Wild gemischt" trifft also nur auf das zu, was eventuell von PHP erzeugt werden soll, und da hast du zumindest teilweise recht, weil es für die Fragestellung nicht förderlich ist, einen EventHandler an den button zu binden. Weit eleganter und richtiger ist das, was Vinzenz in https://forum.selfhtml.org/?t=95317&m=577999 vorgeschlagen hat: man kann den buttons ja verschiedene Namen zuweisen, was zu verschiedenen Variablen führt, die dann das PHP-Script auswerten kann. Theoretisch können nahezu unendlich viele buttons mit unterschiedlichen Namen versehen werden und dadurch im selben Script unterschiedliche Reaktionsweisen je nach "if/else if/else" auslösen.

Es ist also gar kein Javascript nötig  -  und in diesem Fall auch ein bißchen deplaziert. Aber es ist wichtig, sich über die Bedeutung von Formularnamen, Elementnamen und Ähnlichem Klarheit zu verschaffen und sie bewußt im aufgerufenen Script auszunutzen.

Grüße aus Berlin

Christoph S.