Mehrere Button Tags -> Submit-Problem

Status
Nicht offen für weitere Antworten.

Nospherates

Erfahrenes Mitglied
Hi!
Ich hab vor ein paar Tagen einige Seiten von mir von den klassischen "input" tags auf "button" tags umgestellt. Soweit klappt das auch alles bis auf eine Sache. Ich hab ein Formular in dem der User eine Entscheidung per Button treffen soll, je nachdem was er machen will betätigt er einen entsprechenden Button. Mit dem input Tag hat das auch super geklappt, bei dem Button Tag werden jedoch egal welchen Buton ich anklicke immer das selbe Ergebnis weitergegeben wird, nämlich der Value von dem ersten button Tag.
Meine Frage: Kann ich das mit dem Button Tag überhaupt irgendwie realsieren?

Alternativ könnte ich natürlich auch je Button ein eigenes form-tag definieren, aber das scheint mir nicht wirklich elegant.

Der Code von den Tags:
Code:
<table width=260px>
<tr> 
<td class="center" colspan=1><button type=submit name='ButtonOK' value='test'><img src="pics/btn_ok.jpg" alt="" /> Test </button></td>
<td class="center" colspan=1><button type=submit name='ButtonOK' value='test2'><img src="pics/btn_ok.jpg" alt="" /> Test2 </button></td>
<td class="center" colspan=1><button type=submit name='ButtonOK' value='test3'><img src="pics/btn_ok.jpg" alt="" /> Test3 </button></td>
</tr>
</table>

Den Inhalt der Buttons verarbeite ich übrigens über JAVA. Ich denke aber, dass das Problem eher zu HTML gehört.. sollte ich mich irren, bitte verschieben :)

Danke schonmal fürs lesen
 
Bei meinem Versuch wurde jeweils nur der Wert der aktivierten Schaltfläche übergeben. Du könntest aber auch einfach den Elementen unterschiedliche Namen geben, etwa:
HTML:
<button type="submit" name="ButtonOK-test1">…</button>
<button type="submit" name="ButtonOK-test2">…</button>
<button type="submit" name="ButtonOK-test3">…</button>
Oder aber:
HTML:
<button type="submit" name="ButtonOK[test1]">…</button>
<button type="submit" name="ButtonOK[test2]">…</button>
<button type="submit" name="ButtonOK[test3]">…</button>
Letztere hat den Vorteil, dass zumindest PHP automatisch daraus ein Array macht, so dass auch weiterhin ein einfaches isset($_POST['ButtonOK']) oder !empty($_POST['ButtonOK']) reicht, um zu prüfen, ob eine der drei Schaltflächen aktiviert wurde.
 
Hm... dass es bei dir funktioniert hat, lässt mich fragen was man da falsch machen kann das es nicht funktioniert. Was benutzt du denn für einen Browser? (wobei die Funktionalität ja eigentlich überall gegeben sein müsste)
Das mit den unterschiedlichen Namen hatte ich auch probiert.. nur hatte ich da das Phänomen das er mir da ALLE 3 Buttons mit entsprechendem Value übergibt. Achja.. apropos Value... den Wert der bei mir hinter value= steht, taucht nirgends mehr auf, das Einzige was als value übergeben wird ist der Text zwischen dem öffnenden und schließenden Tag. Ist das normal?!

Ich hab meinen Type grade noch in Hochkommatas gesetzt, nachdem ich gemerkt hab das er es vorher nicht war, hat aber auch nichts bewirkt -.-

PS: Sorry das der Text nicht so schön formatiert ist, aber irgendwie klappen hier diese ganzen netten Funktionen nicht die oben angeboten werden
 
Welchen Webbrowser zeigt denn dieses Verhalten? Und ist es HTML oder XHTML, mit dem du arbeitest? Zeig doch mal das gesamte Dokument.
 
Als Browser ist hier der IE 6.0 installiert.Ich benutz ganz gewöhnliches html... und hier ist mal der Quelltext der gesamten Seite:

HTML:
<html>

<head>
<title> Bestätigung der ausgehenden Abrechnungsnummern</title>
<meta http-equiv="expires" content="0">
<link rel="stylesheet" type="text/css" href="stylesheets.css">
<style type="text/css">
</style>
<script language="JavaScript" src="menue.js" type="text/javascript">
</script>
</head>
<body class="body_main" onLoad="loadPage()">

<h3>
Best&auml;tigen Sie bitte das Abschließen folgender Sendungen 
</h3>

<form method=get action="/showSendBillNr.jsp" target="mainFrame"  name="frmChooseBillNr" >

<table width=260px>
<tr>
<td class='tabTitle' width=80px>Auftrag</td>
<td class='tabTitle' width=80px>Mandant</td>
<td class='tabTitle' width=80px>Abrechnung</td>
<tr>
<tr>
<td class='center tabWertAlt' width=60px>D17042</td>
<td class='center tabWertAlt' width=60px>13</td>
<td class='center tabWertAlt' width=60px>764</td>
</tr>
<input type=hidden name="76413" value="on">
			 
<tr style="font-weight:bold;"> 
<td class='center tabWertAlt' width=60px> Sendungen:</td>
<td  class='center tabWertAlt' width=60px>  &nbsp; </td>
<td class='center tabWertAlt' width=60px> 0</td> </tr>
</table>
<div class="buttons">
<table width=260px>
<tr> 
<td class="center" colspan=1><button type="submit" name='ButtonOK' value="test"><img src="pics/btn_ok.jpg" alt="" /> test </button></td>
<td class="center" colspan=1><button type="submit" name='ButtonOK' value="test2"><img src="pics/btn_ok.jpg" alt="" /> test2 </button></td>
<td class="center" colspan=1><button type="submit" name='ButtonOK' value="test3"><img src="pics/btn_ok.jpg" alt="" /> test3 </button></td>
</tr>
</table>
</div>
<input type=hidden name="sended" value="ok">
<input type=hidden name="kind" value="98">
</form>
</body>
</html>
 
Hm... naja ok scheinbar gibt es da keine Lösung zu :D. Ich hab das jetzt umgangen indem ich statt Buttons Radio Buttons benutze. Bedeutet zwar unter Umständen ein Klick mehr, aber Show must go on :) ..

Danke nochmal für die Hilfe
 
Hallöchen,

ich hatte mit diesem Thema auch schon einmal meine Probleme. Allerdings habe ich die einzelnen Buttons alle als Input-Tag vom Typ submit und unterschiedlichem Namen gelöst. Das ganze funkioniert nur solange gut, solange der Button mit der Maus angeklickt wird, denn bei Betätigung von Enter/Return funktioniert jeder Browser anders. Es gibt Browser die reagieren mit dem Abschicken des ersten Submit-Buttons im Dokument, oder aber (ich glaube Opera) betätigt damit den Button, der dem aktuellen Eingabefeld am nächsten ist.

Nur so aus meinem Erfahrungsschatz.
 
also
den tag <button> kenen ich garnicht
probiere es mal hiermit:
<input type="button" name="Beispielname" value="valuehalt^^">
 
Status
Nicht offen für weitere Antworten.
Zurück