Сначала необходимо связать метод "showimage", который будет вызываться при нажатии на изображение, а затем привязать
function ()
{
modal.style.display = "block";
modalImg.src = this.src;
captionText.innerHTML = this.alt;
}
при нажатии на изображение.Поэтому вам не следует снова связывать событие с тегом изображения.
удалить либо onclick = "showimage ()" из тега ur html, либо удалить img.onclick из кода JS.
записать еговроде:
function showimage(z)
{
var modal = document.getElementById('myModal'+z);
var img = document.getElementById('myImg'+z);
var modalImg = document.getElementById('img01'+z);
var captionText = document.getElementById('caption'+z);
modal.style.display = "block";
modalImg.src = img.src;
captionText.innerHTML = this.alt;
}
и будет отлично работать.