Considerando que explorer ni ópera te devolverán el valor de name y value de un input type image, podés apelar a un truquillo no muy limpio, pero efectivo:
Código PHP:
<?php
if(isset($_POST) && !empty($_POST)){
echo '<pre>';
print_r($_POST);
echo '</pre>';
}
?>
<!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>Documento sin título</title>
<script>
function addVales(f){
elementos=f.getElementsByTagName('input');
for(i=0;i<elementos.length;i++){
if(elementos[i].getAttribute('noevaluar')=='si' || elementos[i].getAttribute('type')!='image')continue;
nv=document.createElement('input');
nv.setAttribute('noevaluar','si');
nv.setAttribute('type','hidden');
nv.setAttribute('name',elementos[i].getAttribute('nombre2'));
nv.setAttribute('value',elementos[i].getAttribute('valor2'));
f.appendChild(nv);
nv2=document.createElement('input');
nv2.setAttribute('noevaluar','si');
nv2.setAttribute('type','hidden');
nv2.setAttribute('name',elementos[i].getAttribute('nombre'));
nv2.setAttribute('value',elementos[i].getAttribute('valor'));
f.appendChild(nv2);
}
}
</script>
</head>
<body>
<form id="form1" name="form1" method="post" action="<?php echo $_SERVER['PHP_SELF'] ?>" onsubmit="addVales(this); ">
<input type="image" nombre="amount" valor="11.00" nombre2="producto1" valor2="osito" src="123.jpg" />
</form>
</body>
</html>