У меня есть форма, содержащая несколько изображений. Как только пользователь нажимает какое-либо изображение, появляется всплывающее окно с эскизами. Как только он нажимает на какое-либо миниатюру, исходное изображение в родительском окне необходимо заменить в соответствии с выбором пользователя (свопинг исходного изображения). Следующий сценарий отлично работает для одного изображения только с logo1 и placeHolder1 переменные жестко закодированы. Как отправить идентификатор изображения из родительского окна во всплывающее окно, так что следующее будет динамическим?javascript - передать значение из родительского дочернего окна и внутри функции
editPage.editForm. logo1 .value = oName
editPage. placeHolder1 .src = "images/user /" + oName;
BTW, изображения и идентификаторы изображений в главном окне могут быть изменены в соответствии с шаблоном формы.
template.php
<script type="text/javascript">
function logoWin() {
window.open('logos.php','logos','height=500,width=700,status=yes,toolbar=no,menubar=no,location=no,scrollbars=yes,resizable=yes');
}
</script>
<form action="" id="editForm" name="editForm" enctype="multipart/form-data">
<img src=”images/user/logo1.jpg” name="placeHolder1" id="placeHolder1" onclick='logoWin()'>
<img src=”images/user/logo2.jpg” name="placeHolder2" id="placeHolder2" onclick='logoWin()'>
<img src=”images/user/logo3.jpg” name="placeHolder3" id="placeHolder3" onclick='logoWin()'>
<input type="hidden" name="logo1" value="<?php echo $main_logo1; ?>" />
<input type="hidden" name="logo2" value="<?php echo $main_logo2; ?>" />
<input type="hidden" name="logo3" value="<?php echo $main_logo3; ?>" />
<input type="submit" value="Save" id="save">
</form>
logos.php
<script language="JavaScript">
function getFile(oImg){
editPage = eval(window.opener.document)
oSrc = oImg.src;
lastSlash = oSrc.lastIndexOf('/');
oName = oSrc.substr(lastSlash+1);
editPage.editForm.logo1.value = oName
editPage. placeHolder1.src = " images/user/" + oName;
this.close()
}
</script>
[php loop]
<img src='images/user/".$row->img_file_name."' onclick='getFile(this)'>
<img src='images/user/".$row->img_file_name."' onclick='getFile(this)'>
<img src='images/user/".$row->img_file_name."' onclick='getFile(this)'>
я получаю сообщение об ошибке: Invalid левого присваивания для 'editPage.editForm.logo + id.value = oName' - любого идея? – Simon
Попробуйте обновленный ответ, зайдите в 'getFile'. –
Я получаю: 'Не могу установить значение свойства 'undefined', когда я добавил:' var = oName; 'Я получил:' getFile не определен' – Simon