Grafik als Submit-Button

AlexD1979

Erfahrenes Mitglied
Hallo,
Ich weiß nicht ob das geht, aber ich habe folgende Idee:
Ich habe ein Formular für Datensatzanzeige. Oben ist ein Textfeld, wo man die gesuchte Datensatznummer eingeben soll und bei Klick auf die danebenliegende Grafik (oder alternativ auf Tastendruck Enter "Wie macht man einen Keylistener in PHP implementieren?") die Aktion ausgelöst werden soll. Dann soll der Datensatz aus der Datenbank gelesen werden und in die restlichen Felder eingetragen werden. Ich weiß wohl, ich muss die Action auf die selbe Seite verweisen, quasi ein reload() der Seite initialisieren.
Geht sowas oder ist das Wunschdenken von mir ?

Aber wie lese ich dann "in einem Rutsch" die ID aus dem Textfeld aus und setze sie in den Link ...anzeigen.php?ID=[eingegebene Variable] ?

Muss ich das in zwei schritten machen? Ich schreibe den Inhalt aus dem Feld in eine Variable und dann rufe ich den Link auf?

Weil das Problem ist, wenn ich den Buton klicke, erwartet er ja bereits die Variable oder ist sie evtl doch schon beim Anklicken in eine Variable geschrieben?
 
Das hat alles nichts mit PHP zu tun.

Grafiken als Submit button gehen mit
Code:
<input type="image" src="bild.jpg" name="foo" />
Weitere Infos dazu gibt es hier

Keylistener können nicht in PHP geschrieben werden, da PHP rein serverseitig läuft. Der KeyListener ist aber meiner Meinung nach überhaupt nicht nötig, da wnen dein Formular nur ein Eingabefeld und ein Image als Submit Button hat, ein Enter sowieso als Submit gewertet wird.
 
Code:
<input type="image" src="bild.jpg" name="foo" />

Keylistener können nicht in PHP geschrieben werden, da PHP rein serverseitig läuft. Der KeyListener ist aber meiner Meinung nach überhaupt nicht nötig, da wnen dein Formular nur ein Eingabefeld und ein Image als Submit Button hat, ein Enter sowieso als Submit gewertet wird.

Ich habe aber mehrere Buttons, einer der halt die Suchanfrage auslösen soll (der Grafikbutton) und einen Button weiter unten für ändern. Der dient dazu, wenn das Folmular mit den Werten gefüllt ist, wieder editierbar zu machen.

Mein Code bisher:
PHP:
<?
/*Datensatz laden aus der letzten Seite, die beim Speichern übergeben wurde */
/* $query_data = "SELECT * FROM test_inventar.inventar WHERE inv='".$id[nummer]."'"; */
$query_data = "SELECT * FROM test_inventar.inventar WHERE inv='".$_GET[id]."'";
$data_erg = mysql_query($query_data, $dbh);
if (mysql_errno()) echo mysql_error();
$data = mysql_fetch_array($data_erg);

/* if ($data_erg) { echo ("Daten erfolgreich geladen");} */

?>
<h3>Datensatz anzeigen</h3>
<br>
<hr width="80%">
<form action="edit.php" method="post" name="form_editieren">

  <table cellspacing="5%" border ="0" >
    <tr>
	<!--- Eingefügt am 26.03.2004 09:31 --->
	<td><input type="hidden" name="id" value=""></td>
	</tr>
	<tr> 
      <td align="right">Inventar-Nr:</td>
      <td><input type="text" name="tf_id" value='<?php echo $data[INV];?>'></td>
	  	  
	  <td>
	  <input type="button" name="test" value="eintragen" onClick="this.form.tf_id.value=12">
	  </td>
	  	  
	  <td><a href="anzeigen.php?id=" target="_self"><img src="gifs/suchen_button.gif"></a></td>
		<!--- <td><a href="anzeigen.php?id=<? echo $data1[INV];?>" target="_self"><img src="gifs/suchen_button.gif"></a></td>	--->
	
	</tr>
    <tr> 
      <td align="right">Hostname:</td>
     <td><input type="text" name="tf_host" disabled value='<?php echo $data[HOST]; ?>'></td>

Das klappt aber noch nicht so richtig...
Es soll halt das Formuar sich selbst füllen nach Eingabe der ID in das Textfeld. Dazu muss der Submit dieses Textfeld auch auslesen und in die URL anzeigen.php?id= den Wert des Feldes eintragen. Nur da hapert es.
Ich habe mir schon überlegt, es mit einem Hidden-Feld zu machen, das im ersten Schritt die Variable in das Hiddenfeld geschrieben wird und danach vom Submit ausgelesen wird. Nur das klappt halt noch nicht so richtig..

Irgendwie habe ich wohl gerade einen kleinen Logikfehler
 
Zuletzt bearbeitet:
Original geschrieben von AlexD1979
( ... ganz viel text ... )
Muss ich das in zwei schritten machen? Ich schreibe den Inhalt aus dem Feld in eine Variable und dann rufe ich den Link auf?
( ... noch mehr viel text ... )
Also irgendwie versteh ich Dich nich so recht ;) Warum machst Du nicht erst eine normale Auswahl (ein mit Werten aus einer Datenbank gefülltes Drop-Down). Darüber kann der User einen Datensatz auswählen. Sofern er das getan hat wir er zur Anzeigeseite weitergeleitet und sie ein Formluar mit den Daten des Datensatzes.

Alternativ: Mach es halt mit JavaScript, wo Du einfach zwei Bilder in das Formular packst und jedes eine eigene JavaScript-Funktion aufrufen lässt, die an zwei verschiedene Scripts postet.
 
Re: Re: Grafik als Submit-Button

Also irgendwie versteh ich Dich nich so recht ;) Warum machst Du nicht erst eine normale Auswahl (ein mit Werten aus einer Datenbank gefülltes Drop-Down). Darüber kann der User einen Datensatz auswählen. Sofern er das getan hat wir er zur Anzeigeseite weitergeleitet und sie ein Formluar mit den Daten des Datensatzes.
Stimmt du hast mich glaube ich nicht verstanden, denn es soll ja durch Eingabe des ID-Wertes dieser bestimmte Datensatz aus der Datenbank gelesen werden.
Naja, bei ca. 12000 Einträgen ist das etwas "langweilig" zu scrollen in dem Dropdown. oder findest du nicht?


Alternativ: Mach es halt mit JavaScript, wo Du einfach zwei Bilder in das Formular packst und jedes eine eigene JavaScript-Funktion aufrufen lässt, die an zwei verschiedene Scripts postet.
Aha, das klingt interessant. JavaScript kenne ich leider nicht so...
 
Re: Re: Re: Grafik als Submit-Button

Original geschrieben von AlexD1979
Stimmt du hast mich glaube ich nicht verstanden, denn es soll ja durch Eingabe des ID-Wertes dieser bestimmte Datensatz aus der Datenbank gelesen werden.
Naja, bei ca. 12000 Einträgen ist das etwas "langweilig" zu scrollen in dem Dropdown. oder findest du nicht?
Hm, und Du meinst, dass der User die IDs von ca. 12000 Einträgen im Kopf hat? :rolleyes:
 
Re: Re: Re: Re: Grafik als Submit-Button

Original geschrieben von Chino
Hm, und Du meinst, dass der User die IDs von ca. 12000 Einträgen im Kopf hat? :rolleyes:

Des Rätzels Lösung ist, dass es keine Userverwaltung ist sondern ein Inventarsystem und die Nummern, die IDs sind Inventarnummern.

Wenn ich also z.B. einen PC zur Reparatur reinbekomme und lese die Inventarnummer, dann möchte ich mir alle Daten zu diesem PC anzeigen lassen.
Daher ist es nicht notwenig etwas aus dem Kopf zu wissen.

Sorry mein Fehler wenn ich dich ein wenig verwirrt habe, ich sollte mal etwas ausführlicher schreiben. Wollte den Text halt so knapp wie möglich halten!

Gruß
Alexander
 
Zuletzt bearbeitet:
Re: Re: Re: Re: Re: Grafik als Submit-Button

Original geschrieben von AlexD1979
Des Rätels Lösung ist, dass es keine Userverwaltung ist sondern ein Inventarsystem und die Nummern, die IDs sind Inventarnummern.

Wenn ich also z.B. einen PC zur Reparatur reinbekomme und lese die Inventarnummer, dann möchte ich mir alle Daten zu diesem PC anzeigen lassen.
Daher ist es nicht notwenig etwas aus dem Kopf zu wissen.
Ok, das hört sich ja schon gleich anders an :)

Dann mach doch einfach zwei Formulare, da brauchste dann auch nicht unbedingt JavaScript für:

Oben: Einfach nur ein Textfeld wo man die ID reinschreiben kann.
Unten: Die Daten die zu einem Datensatz ausgelesen werden.

Wenn nun das obere Formular abgeschickt wird, dann wird im unteren die jeweilige Tabelle ausgelesen und die Daten werden angezeigt.

Warum schwierig, wenns auch einfach geht :)
 
Ich habe mal einen Screenshot angehängt... dann kann man sich das besser vorstellen.
Also eine Nummer bei Inventar eingeben und auf den roten Pfeil drücken. Danach soll der Datensatz geladen werden.
 

Anhänge

  • inventar01.jpg
    inventar01.jpg
    26,4 KB · Aufrufe: 129
Original geschrieben von AlexD1979
Ich habe mal einen Screenshot angehängt... dann kann man sich das besser vorstellen.
Warum nicht gleich so? ;)

Original geschrieben von AlexD1979
Also eine Nummer bei Inventar eingeben und auf den roten Pfeil drücken. Danach soll der Datensatz geladen werden.
Ja, Nummer eingeben, das obere Formular absenden (auf die gleiche Seite schicken) und dann unten den jeweiligen Datensatz anhand der ID aus der Tabelle lesen.
 
Zurück