Image-Button funzt nicht mit IE
Björn
- html
Ich dreh hier nochmal druch mit diesem verdammten IE!!
Ich habe drei verschiedene Imagebuttons, die jeweils einen verschiedenen Wert übergeben: "neu", "del" und "edit":
<form name="eventsend" action="scripte/eventsend.php" enctype="multipart/form-data" method="post">
[...]
<input name="button1" value="neu" type="image" src="/gfx/new.jpg">
<input name="button1" value="del" type="image" src="/gfx/tonne.jpg">
<input name="button1" value="edit" type="image">
</form>
[...]
Mit dem Firevox läuft alles wunderbärchen.
Wenn ich die "$button1"-Variable in der eventsend.php ausgeben lasse, meint der IE, dass da nix drin steht.
übersehe ich das jetzt irgendetwas, oder ist das einfach nur so ...
Danke für Antworten
Björn
Hallo,
Wenn ich die "$button1"-Variable in der eventsend.php ausgeben lasse, meint der IE, dass da nix drin steht.
Das steht doch in SelfHTML:
http://de.selfhtml.org/html/formulare/formularbuttons.htm#grafische
"[...] Der IE sendet nur die Koordinaten."
Also: Pech für Dich! :-(
Und übrigens: In PHP solltest Du die Variable mit $_POST["button1"] ansprechen,
nicht mit $button1.
(Die erste Schreibweise funktioniert - ab PHP 4.1.0 - immer, die Zweite
ist veraltet und funktioniert nur, wenn register_globals=on ist, was bei
neueren PHP-Versionen nicht mehr standardmässig der Fall ist.)
Gruss, Thomas
Also irgendwie schnalle ich das jetzt nicht.
Mit dem Beispiel, der unter Deinem Link zu finden ist, klappt alles einwandfrei, auch mit dem IE. Also muss das doch gehen.
Wo ist denn da bei mir der Fehler?
Gruß Björn
Grüße,
Wo ist denn da bei mir der Fehler?
meine glaskugel deutet auf die art der abfrage, die die IE-spezifische daten nicht berücksichtigt, hin.
MFG
bleicher
Okay, nochmal ganz von vorne.
Es muss doch möglich sein, drei Imagebuttons darzusellen, die alle die gleiche Seite aufrufen, also in ein und dem selben <form-Tag> sind UND ich bei der ziel.php (die von den Imagebuttons aufgerufen wird) weiß, auf welchen Button gedrückt wurde.
Wie mache ich denn das?
(die von den Imagebuttons aufgerufen wird)
Mal ne blöde Frage .... wo wird über die Buttons irgendwas aufgerufen?
(die von den Imagebuttons aufgerufen wird)
Mal ne blöde Frage .... wo wird über die Buttons irgendwas aufgerufen?
hä?
<form name="eventsend" action="scripte/eventsend.php" enctype="multipart/form-data" method="post">
[...]
<input name="button1" value="neu" type="image" src="/gfx/new.jpg">
<input name="button1" value="del" type="image" src="/gfx/tonne.jpg">
<input name="button1" value="edit" type="image">
</form>
[...]
Also ich habe es so gelernt. Nach meinem Kenntnisstand, sollte bei obigen Beispiel die scripte/eventsend.php aufgerufen werden, sobald man auf einen der drei buttons klickt. Der Firefox macht das auch wunderherrlich.
Ich will das gleich aber auch mit dem IE machen können. Das muss doch machbar sein.
Wenn Ihr da mehr Kenntnisse habt, als ich, würde ich sehr gerne Euer Wissen mit mir teilen ;)
Immer her mit den Schlauen Ideen...
Immer her mit den Schlauen Ideen...
Wer hat es dir denn so gelernt? Also ich hab gelernt, dass zum Absenden ein type=submit nötig ist oder über einen Event-Handler eine entsprechende Javascript-Funktion.
Du hast nichts von dem und somit kanns nicht funktionieren. Lies nochmal in Selfhtml nach:
http://de.selfhtml.org/html/formulare/klickbuttons.htm
http://de.selfhtml.org/html/formulare/formularbuttons.htm#herkoemmlich
Hi,
Also ich hab gelernt, dass zum Absenden ein type=submit nötig ist oder über einen Event-Handler eine entsprechende Javascript-Funktion.
Das ist falsch.
Auch ein input type="image" dient zum Absenden.
Du hast nichts von dem und somit kanns nicht funktionieren. Lies nochmal in Selfhtml nach:
Das solltest Du selbst tun.
Und zwar auf der zweiten der von Dir genannten Seiten
http://de.selfhtml.org/html/formulare/formularbuttons.htm#herkoemmlich
einfach den folgenden Abschnitt http://de.selfhtml.org/html/formulare/formularbuttons.htm#grafische nicht ignorieren.
cu,
Andreas
Also viel weiter gekommen bin ich jetzt nicht mit meiner Problemlösung.
Das interessanteste war folgender Link:
http://de.selfhtml.org/html/formulare/formularbuttons.htm#grafische
Bei dem Beispiel kann man einen Text eingeben, der nach einem klickt auf einen Image-Button, eine neue Seite aufruft, in der neben den eingegebenen Text auch die Koordinaten des Mauscoursers ausgegeben werden.
Da mir hier offensichtlich keiner bei meinem Problem helfen kann, habe ich jetzt die Idee, das ich einfach die Koordinaten auswerte und dann so interpretieren kann, auf welchen Button gedrückt wurde. Da stellt sich dann jedoch die frage, wie erhalte ich die Koordinaten auf der zweiten Seite?
Kann mir das einer sagen?
also: ( $y= ???; $x= ???; )
Gruß Björn
Hi,
Da mir hier offensichtlich keiner bei meinem Problem helfen kann, habe ich jetzt die Idee, das ich einfach die Koordinaten auswerte und dann so interpretieren kann, auf welchen Button gedrückt wurde. Da stellt sich dann jedoch die frage, wie erhalte ich die Koordinaten auf der zweiten Seite?
Kann mir das einer sagen?
Was hält Dich eigentlich davon ab, Dir mal $_GET bzw. $_POST per print_r oder ähnlichem auszugeben, welche Parameter mit welchen Werten übergeben werden?
Muß man Dir alles vorkauen?
cu,
Andreas
Das solltest Du selbst tun.
Und zwar auf der zweiten der von Dir genannten Seiten
Ja, da hab ich den ersten Satz überlesen. Vermutlich auch deshalb, weil ich lieber <button /> verwende, da flexibler. ;)
Hi,
Ja, da hab ich den ersten Satz überlesen. Vermutlich auch deshalb, weil ich lieber <button /> verwende, da flexibler. ;)
Aber mit button kann der IE nicht vernünftig umgehen.
cu,
Andreas
Aber mit button kann der IE nicht vernünftig umgehen.
Mit was kann er denn das? SCNR
Ne, mal im Ernst, bei einfachen Buttons sind mir bei meinen Anwendungen keine Probleme bekannt. Aber ich werd mir das nochmal ansehen.
Hi,
Ne, mal im Ernst, bei einfachen Buttons sind mir bei meinen Anwendungen keine Probleme bekannt. Aber ich werd mir das nochmal ansehen.
Statt name-value wird name-content übertragen, bei mehreren button type="submit" werden alle übertragen statt nur der benutzte ...
cu,
Andreas
Statt name-value wird name-content übertragen, bei mehreren button type="submit" werden alle übertragen statt nur der benutzte ...
Gut zu wissen das.
Jetzt weiss ich auch, wieso ich damit nie Probleme hatte.
Beim Submitbutton ist mir value immer egal gewesen und ich habe nur immer genau einen Submit ;)
Hi,
Es muss doch möglich sein, drei Imagebuttons darzusellen, die alle die gleiche Seite aufrufen, also in ein und dem selben <form-Tag> sind UND ich bei der ziel.php (die von den Imagebuttons aufgerufen wird) weiß, auf welchen Button gedrückt wurde.
Ist es auch. Ganz einfach. Gib ihnen unterschiedliche Namen.
cu,
Andreas
Hallo,
Mit dem Beispiel, der unter Deinem Link zu finden ist, klappt alles einwandfrei, auch mit dem IE. Also muss das doch gehen.
Also, falls Du dieses Beispiel meinst:
http://de.selfhtml.org/html/formulare/anzeige/input_image.htm
Dort sieht der Absende-Button wie folgt aus:
<input type="image" src="absende.gif" alt="Absenden">
Also weder name- noch value-Attribut.
Somit wird auch nichts dergleichen übertragen, weder im Firefox noch im IE.
Nur die Koordinaten werden (in beiden Browsern) übertragen,
aber die helfen Dir bei Deinem Problem ja nicht weiter...
Probier es mal mit folgendem kurzem Code aus:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Test mit grafischem Button</title>
</head>
<body>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="GET">
Text:
<input name="eingabe" type="text" size="30" maxlength="30"><br>
<input type="image" src="abschicken1.gif" name="knopf" value="knopf-nr1" alt="Absenden">
<input type="image" src="abschicken2.gif" name="knopf" value="knopf-nr2" alt="Absenden">
</form>
<?php
if (isset($_GET['eingabe']))
{
echo "<hr>\n";
echo "<pre>\n";
print_r($_GET);
echo "</pre>\n";
}
?>
</body>
</html>
Dann siehst Du (dank GET) schon gleich in der Adresszeile,
und dann auch in der Ausgabe des Scripts, dass der MS IE
(ich habe 6.0) in der Tat nur die Koordinaten mitgibt,
nicht aber das name-value-Paar, das Du möchtest.
mfg Thomas