Warum geht das im IE nicht?

Hisel

Grünschnabel
Habe folgenden Code geschrieben:

PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Unbenanntes Dokument</title>
<script type="text/JavaScript">
<!--
function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}
//-->
</script>
</head>

<body onload="MM_preloadImages('images/plusa.gif')">
<form id="form1" name="form1" method="post" action="start.php">
  <input name="tauschbutton" type="image" id="tauschbutton" onmouseover="MM_swapImage('tauschbutton','','images/plusa.gif',1)" onmouseout="MM_swapImgRestore()" value="1" src="images/plus.gif" alt="loeschen" border="0" />
</form>
</body>
</html>
<?
  if(isset($_POST['tauschbutton'])){
      $erg = "plus";
  }
  echo $erg;
?>

Problem ist nun das es im FF funktioniert und im IE nicht.
Kann mir einer sagen warum?

Gruß Hisel
 
Stimmt ein paar mehr Info´s wären gut.

Also das Script habe ich unter start.php abgespeichert. Beim abschicken ruft sich das Script also selbst auf und es soll eben die Ausgabe vom php Teil erfolgen. Dieses funktioniert auch im FF ohne probleme aber im IE wird der php Teil nicht beachtet und nichts ausgegeben.

Hisel
 
Die einzige Erklaerung die mir so spontan einfaellt waere, dass im IE vielleicht keine Bilder als Submit-Button fungieren koennen. Oder das Formular zwar abgeschickt wird, aber fuer das Bild keine Daten uebertragen werden.

Nachtrag: Hab's grad mal getestet.
Folgendes wird vom Mozilla uebertragen: (Ausgabe mittels print_r($_POST))
Array ( [testimage_x] => 88 [testimage_y] => 18 [testimage] => 1 )

Und das kommt vom IE (7): (Ausgabe mittels print_r($_POST))
Array ( [testimage_x] => 108 [testimage_y] => 19 )
 
Hm also wenn ich statt method=post get nehme erscheint in der URL ja auch "start.php?tauschbutton.x=13&tauschbutton.y=13" im IE also wird doch auch etwas übergeben oder?
 
Hisel hat gesagt.:
Hm also wenn ich statt method=post get nehme erscheint in der URL ja auch "start.php?tauschbutton.x=13&tauschbutton.y=13" im IE also wird doch auch etwas übergeben oder?
Aber nicht der von Dir erwartete Wert tauschbutton.
Siehe auch mein Nachtrag im vorigen Post.
 
Ich hab jetzt nicht mit anderen Browsern getestet, aber nimm doch einfach tauschbutton_x, der Wert wird in beiden Browsern (und ich denk auch in anderen) uebertragen.
 
Klar hätte ich auch selber drauf kommen können aber manchmal ist man auf eine Lösung so versteift das man andere nicht sieht.

Thx Hisel
 
Zurück