Formular] Bilder als Button

Status
Nicht offen für weitere Antworten.

Moritz123

Erfahrenes Mitglied
Hallo!

ich möchte gerne in einem Formular Bilder mit Werten belegen. Wird auf ein Bild geklickt, wird das Formular mit dem Wert des geklickten Bildes abschickt.
Ich habe das Ganze mal so probiert:
HTML:
  <form action="form.php" method="POST" name="form1">
    <input name="picid" value="1" type="image" src="images/bild1.jpg" border="0" alt="bild1" onClick="javascript:document.form1.submit()">
    <input name="picid" value="2" type="image" src="images/bild2.jpg" border="0" alt="bild2" onClick="javascript:document.form1.submit()">
    <input name="picid" value="3" type="image" src="images/bild3.jpg" border="0" alt="bild3" onClick="javascript:document.form1.submit()">
  </form>

Leider wird so nichts übermittelt. Was mache ich falsch bzw muss ich anders machen?

Vielen Dank!
 
So ganz leuchtet mir nicht ein, warum Du das so umständlich machen möchtest, und nicht die Bilder einfach mit einem Link versiehst und mit php kannst Du ja auch Werte übermittlen.

Könntest Du das ganze mal online stellen, dann kann ich mir die Problematik auch besser vorstellen.
 
Ich muss es so umständlich machen, da ich die Werte mit PHP ja weiternutze. Ich brauche das als POST-Variable, sonst muss ich mein ganzes Script umschreiben.-
 
Welche Werte willst Du denn an das PHP Script übermitteln?
Außer den Grafiken steht doch nichts in dem Form, ...
Und was soll der JavaScript Code in den input's?
Wenn Du auf die Grafik klickst, sollten alle Daten des Formulars übermittelt werden.
Dazu braucht es aber keinen JS Code.

redlama
 
das eben will ich aber nicht. Ich will, dass lediglich der Wert des Bildes auf dass ich geklickt habe, übermittelt wird.
 
Kannst Du nicht genau das mit Hilfe eines einfachen Links erreichen?

HTML:
<a href="form.php?bild=1"><img scr="images/bild1.jpg" alt="Bild1"></a>
<a href="form.php?bild=2"><img scr="images/bild2.jpg" alt="Bild2"></a>
<a href="form.php?bild=3"><img scr="images/bild3.jpg" alt="Bild3"></a>
Nur mal so eine Idee, dann in form.php mit Hilfe von Select bestimmen was gemacht wird. So sollte es doch gehen, ein PHP Profi kann Dir sicher da noch mehr zu sagen.
 
Problem: Damit kann ich im PHP-Script die Daten nur $_GET abfragen. Ich habe mein Script aber auf die Verarbeitung mit $_POST-Variablen abgestimmt und müsste dann alles umschreiben. Aber wenns nicht anders geht, werd ichs wohl so machen müssen :(
 
Versuch's mal so:
PHP:
<form action="form.php" method="post">
  <input type="image" src="images/bild1.jpg" border="0" alt="bild1" />
  <input type="hidden" name="picid" value="1" />
</form>
<form action="form.php" method="post">
  <input type="image" src="images/bild2.jpg" border="0" alt="bild2" />
  <input type="hidden" name="picid" value="2" />
</form>
<form action="form.php" method="post">
  <input type="image" src="images/bild3.jpg" border="0" alt="bild3" />
  <input type="hidden" name="picid" value="3" />
</form>
Das sollte Dein Problem lösen, ...

redlama
 
Hi,

ich würde den Bildern vielleicht ein "onclick" geben mit dem ich ein javascript ausführe. Das Javascript füllt ein verstecktes Feld in deinem Formular und versendet das Formular dann. Beim auslesen der Variablen fragst Du einfach ab, ob das versteckte Feld gefüllt war. Wenn ja machst Du alle anderen Variablen leer.
 
Die Sache hat nur einen Haken!
Was machst Du, wenn der User JavaScript deaktiviert hat?

redlama
 
Status
Nicht offen für weitere Antworten.
Zurück