Hallo allen,

Internet Explorer geeft weer eens een ander resultaat dan Firefox.

Ik heb twee actieknoppen in mijn cms:

<input type="image" src="icons/icoon_potlood.bmp" name="actie" value="bewerken">

<!-- bij het verwijderen wordt er eerst voor bevestiging gevraagd -->

<input type="image" src="icons/icoon_prullenbak.bmp" name="actie" value="verwijderen" onClick="return confirm('Weet u zeker dat u deze artikelen wilt verwijderen?')">

Namelijk bewerken en verwijderen. Als je verwijdert, krijg je eerst nog een vraag of je het zeker weet.

Dan stuur het form zich op naar zichzelf:

<form method="POST" action="" enctype="multipart/form-data">

Vervolgens wordt er gecheckt:
<?php
// check of er op een van de actieknoppen is gedrukt
if(IsSet($_POST['actie'])) {


// check of er tenminste 1 checkboxje is aangevinkt
if(IsSet($_POST['gecheckt'])) {

if($_POST['actie'] == 'verwijderen') {
} elseif($_POST['actie'] == 'bewerken') {
}

}

?>

etcetera. Firefox voert het allemaal prima uit. Internet Explorer lijkt echter niet te herkennen dat ik op 1 van de knoppen heb gedrukt. Iemand een idee waar dit aan ligt?
Probeer eens met action <?=$_SERVER['PHP_SELF'];?>
Ik heb het ook gehad... evt. kan je met javascript submitte
die had ik al eens geprobeerd. werkte ook niet dus.

Maar waar ligt het dan aan? Aan die image knopjes? Want er staat ook een ander formulier op de pagina, en die doet het wel gewoon prima
Input
type image: hiermee kan een afbeelding gebruikt worden als een knop voor verzenden (vergelijkbaar met de waarde "submit"). Omdat de afbeelding in plaats van de echte knop komt, zal het in het algemeen niet meer gaan om iets wat er uitziet als een knop (in tegenstelling tot bij de oplossing via het BUTTON element). Behalve de overige informatie van het formulier worden ook de coördinaten van de plaats waar geklikt wordt meegestuurd. Met behulp van het SRC attribuut moet bepaald worden welke afbeelding weergegeven moet worden. Met het ALT attribuut wordt een alternatieve tekst opgegeven, voor als de browser geen afbeeldingen kan of mag weergeven. Omdat niet elke browser al met het ALT attribuut overweg kan, is het verstandig ook het NAME attribuut op te nemen met de alternatieve tekst. Als het NAME attribuut gebruikt is, dan wordt deze aan de coördinaten toegevoegd (naam.x en naam.y) bij het verzenden naar de server.
Eigenlijk is het naam_x en naam_y, maar dat had TS zelf kunnen zien door een print_r( $_POST ) uit te voeren ;)

Als het goed is ontvang je dus een $_POST['actie_x'] en $_POST['actie_y'].
<input type="image" src="icons/icoon_potlood.bmp" name="actie" value="bewerken">

<!-- bij het verwijderen wordt er eerst voor bevestiging gevraagd -->

<input type="image" src="icons/icoon_prullenbak.bmp" name="actie" value="verwijderen" onClick="return confirm('Weet u zeker dat u deze artikelen wilt verwijderen?')">

Dan zou ik ook de knoppen niet onder dezelfde naam kunnen opereren, met een andere waarde, omdat IE de waarde niet kan checken. Want je kan niet if(POST['actie_x'] = 'bewerken') want dan verwacht 'ie een coordinaat. Bedankt allen.

Reageren