IE будет передавать только координаты, поэтому ищите FormDuplicate.x
и FormDuplicate.y
в коллекции запросов, и, если она существует, это означает, что на FormDuplicate
кликнуло изображение.
Что-то вроде:
if(isset($_POST['FormDuplicate.x'])) {
//submitted by FormDuplicate
}
Из того, что я видел, другие браузеры также отправляют это (в дополнение к отправке значения), поэтому оно должно работать между браузерами.
Редактировать: чтобы сохранить и передать значение кликаемого изображения, добавьте этот код JavaScript на страницу:
window.onload = function() {
var arrInputs = document.getElementsByTagName("input");
for (var i = 0; i < arrInputs.length; i++) {
var oInput = arrInputs[i];
if (oInput.type == "image") {
oInput.onclick = function() {
var oHidden = document.createElement("input");
oHidden.type = "hidden";
oHidden.name =this.name;
oHidden.value = this.value;
this.form.appendChild(oHidden);
this.value = "";
};
}
}
};
Этот код динамически присоединяет обработчик события click
ко всем входам типа image, в котором он будет создавать скрытый ввод на лету, присваивать его имя имени ввода изображения и его значение значению ввода изображения, затем добавьте скрытый ввод к родительской форме изображения, в результате чего значение будет передано правильно.
Чтобы избежать дублирования значений в браузерах, таких как FF или Chrome, код очищает введенное значение изображения после добавления скрытого элемента.