PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Formular: Submit Button und IE6


Scream
2007-12-07, 08:05:12
Ich habe bereits diesen Thread gelesen, in welchem das gleiche Problem beschrieben ist:
http://forum.de.selfhtml.org/archiv/2005/11/t118095/#m756785

Nun meine Frage wie kann ich das verhindern, bzw. kann ich mit PHP trotzdem was abfangen, was der IE nur einmal sendet?

Ich habe folgende 2 Buttons:

<button type="submit" name="vorschau" value="vorschau"><img src="images/page_go.png" alt=""/> Vorschau</button>
<button type="submit" name="eintragen" class="positive" value="eintragen"><img src="images/tick.png" alt=""/> Eintragen</button>

PHP Code nutze ich folgenden:
if ( isset($_POST['eintragen']) ) { ... }
if ( isset($_POST['vorschau']) ) { ... }
else { ... }

Kann ich das irgendwie schaffen dass es auch im IE6 richtig funktioniert. Im 7er gehts und in allen anderen Browsern auch!

darph
2007-12-07, 08:20:52
Mach es nicht über zwei Submitbuttons (du kannst ein Formular nur abschicken, oder es nicht abschicken), sondern über eine Checkbox.

[√] Vor dem Eintrag Vorschau anzeigen.

Dann kannst du schauen, ob das selektiert ist, oder nicht. Jenachdem, was du als Standardwert verwenden möchtest, setzt du halt den Haken im Quelltext - oder eben nicht. Zu überprüfen, ob eine von beiden Variablen gesetzt ist, oder nicht, und anhand dessen etwas zu entscheiden, ist sowieso der schlechtere Weg, denn niemand kann mich daran hindern, einfach beide Variablen zu setzen.

Kinman
2007-12-07, 08:34:25
if ( $_POST['eintragen'] == 'Eintragen' ) { ... }
if ( $_POST['vorschau'] == 'Vorschau' ) { ... }
else { ... }


Einfach nach dem <button ... >...</button> machst <input type="submit" name="eintragen" value="Eintragen" />

mfg Kinman

Scream
2007-12-07, 21:59:21
if ( $_POST['eintragen'] == 'Eintragen' ) { ... }
if ( $_POST['vorschau'] == 'Vorschau' ) { ... }
else { ... }


Einfach nach dem <button ... >...</button> machst <input type="submit" name="eintragen" value="Eintragen" />

mfg Kinman


hmm kannst du das genauer erklären?
hab ja dann nach meinem button nochmal einen, also 2 gleiche...

Scream
2007-12-10, 15:07:22
@ Kinman meine frage steht noch offen ;)


vorerst habe ich es so gelöst:
<button type="submit" onclick="name='vorschau';value=' Vorschau'"><img src="images/page_go.png" alt=""/> Vorschau</button>
<button type="submit" class="positive" onclick="name='eintragen';value='eintragen'"><img src="images/tick.png" alt=""/> Eintragen</button>

Kinman
2007-12-10, 15:23:35
Sry...


<form action="...." method="post">
<input type="image" name="vorschau" src="images/page_go.png" />
<input type="image" class="positive" name="eintragen" src="images/tick.png" />
</form>


Das das ganze dann grafische Button sind, muss 1. der Text auch in der Grafik drin sein (soviel ich weiß) und 2. in PHP die Koordinaten abgefragt werden und nicht mehr die value Eigenschaft.


if (isset($_POST['vorschau_x'])) //Vorschau wurde gedrückt
if (isset($_POST['eintragen_x'])) //Eintragen wurde gedrückt


Weitere Hilfe hier: http://de.selfhtml.org/html/formulare/formularbuttons.htm#grafische

Scream
2007-12-10, 15:27:23
herzlichen dank für die erklärung :D

da finde ich dann aber meine lösung dennoch komfortabler
denn JS braucht mein Gästebuch sowieso und funktionieren tut meine möglichkeit auch problemlos (nur dass beim IE mein Bildchen kurz verschwindet, aber das ist nicht weiter schlimm)

soll ja sowieso nur eine übergangslösung sein

Kinman
2007-12-10, 15:42:33
Warum braucht man für Dein GB zwingend JS? Man kann es sicherlich so gestalten, dass es kein JS benötigt, oder?

mfg Kinman

Scream
2007-12-10, 18:05:15
natürlich nur im moment braucht man es noch (für die überprüfung der daten, also email, name und ob text vorhanden ist)

werde vermutlich in den winterferien ein neues programmieren bzw. das bisherige ändern

Scream
2008-02-21, 21:30:38
Sry...


<form action="...." method="post">
<input type="image" name="vorschau" src="images/page_go.png" />
<input type="image" class="positive" name="eintragen" src="images/tick.png" />
</form>


Das das ganze dann grafische Button sind, muss 1. der Text auch in der Grafik drin sein (soviel ich weiß) und 2. in PHP die Koordinaten abgefragt werden und nicht mehr die value Eigenschaft.


if (isset($_POST['vorschau_x'])) //Vorschau wurde gedrückt
if (isset($_POST['eintragen_x'])) //Eintragen wurde gedrückt


Weitere Hilfe hier: http://de.selfhtml.org/html/formulare/formularbuttons.htm#grafische


*threadrauskram*

http://de.selfhtml.org/html/formulare/formularbuttons.htm#modern
Der IE 6 Fehler tritt also nur auf wenn ich 2 submit buttons verwende?
Bei nem Submit, Reset und nem anderen Button geht also auch im IE6 alles richtig?