@GoSou

Как передать значение в input из модального окна?

Всем здравствуйте!
Есть такая задача: из модального окна нужно передать значение в input. Имеется решение, которое работает великолепно:

/* index.php */
<script language="JavaScript">
function changeBut(nam) {
document.forms[0].form_color.value = nam;
}
</script>


<div class="container">		
<form>
<input type=text name=form_color onClick='window.open("popup.php", "modal", "width=500, height=100");'>
</form>
</div>


/* popup.php */
<html>
<body>

<form name=modal_color>
<center>
        <table border=2 cellspacing=5 width=75%>
        <tr width=35px height=35px>

            <td bgcolor=#ff0000><img src=clear.png width=100% height=100% onClick="window.opener.changeBut(document.modal_color.value='Красный'); self.close();" title="Красный"></td>
            <td bgcolor=#ff9b00><img src=clear.png width=100% height=100% onClick="window.opener.changeBut(document.modal_color.value='Оранжевый'); self.close();" title="Оранжевый"></td>
            <td bgcolor=#fff000><img src=clear.png width=100% height=100% onClick="window.opener.changeBut(document.modal_color.value='Жёлтый'); self.close();" title="Жёлтый"></td>
            <td bgcolor=#32af00><img src=clear.png width=100% height=100% onClick="window.opener.changeBut(document.modal_color.value='Зелёный'); self.close();" title="Зелёный"></td>
            <td bgcolor=#00b4ff><img src=clear.png width=100% height=100% onClick="window.opener.changeBut(document.modal_color.value='Голубой'); self.close();" title="Голубой"></td>
            <td bgcolor=#0064ff><img src=clear.png width=100% height=100% onClick="window.opener.changeBut(document.modal_color.value='Синий');	 self.close();" title="Синий"></td>
            <td bgcolor=#a200ff><img src=clear.png width=100% height=100% onClick="window.opener.changeBut(document.modal_color.value='Фиолетовый'); self.close();" title="Фиолетовый"></td>

        </tr>
        </table>
    </center>

</form>
</body>
</html>


Всё бы ничего, да только есть одно НО – модальное окно открывается отдельным файлом в оформлении Windows-окна. Необходимо сделать то же самое, но чтобы модальное окно реализовывалось одним файлом на DIV'ах. Есть такой нерабочий вариант:

<script language="JavaScript">
function changeBut(nam) {
document.forms[0].form_color.value = nam;
}
</script>


<div class="container">		
<form>
<input type="text" name="form_color" onClick="getElementById('win').removeAttribute('style');" value="" />
<div id="win" style="display: none;">
      <div class="visible">
          <div class="content">
     <center>
        <table border=2 cellspacing=5 width=75%>
        <tr width=25px height=25px>

            <td bgcolor=#ff0000><img src=clear.png width=100% height=100% onClick="getElementById('win').style.display='none';" title="Красный"></td>
            <td bgcolor=#ff9b00><img src=clear.png width=100% height=100% onClick="getElementById('win').style.display='none';" title="Оранжевый"></td>
            <td bgcolor=#fff000><img src=clear.png width=100% height=100% onClick="getElementById('win').style.display='none';" title="Жёлтый"></td>
            <td bgcolor=#32af00><img src=clear.png width=100% height=100% onClick="getElementById('win').style.display='none';" title="Зелёный"></td>
            <td bgcolor=#00b4ff><img src=clear.png width=100% height=100% onClick="getElementById('win').style.display='none';" title="Голубой"></td>
            <td bgcolor=#0064ff><img src=clear.png width=100% height=100% onClick="getElementById('win').style.display='none';" title="Синий"></td>
            <td bgcolor=#a200ff><img src=clear.png width=100% height=100% onClick="getElementById('win').style.display='none';" title="Фиолетовый"></td>
        </tr>
        </table>
    </center>
          </div>
    </div>
</div>

</form>
</div>


При нажатии на любой цвет модальное окно успешно закрывается, но этого недостаточно. Прошу уважаемое сообщество особо тапками не кидаться, но действительно что-то никак не соображу куда нужно «повесить» value с соответствующим названием цвета и каким образом сие значение передать в input. Понимаю, что это не особо сложно, подскажите пожалуйста. Ну вот упёрся в тупик и – никак...
  • Вопрос задан
  • 455 просмотров
Пригласить эксперта
Ответы на вопрос 1
@GoSou Автор вопроса
Решение проблемы найдено и оно действительно оказалось не таким уж и сложным. Весьма удивлён, что ни один «местный» гуру веб-программирования не подсказал ни единого варианта. В таком случае есть ли вообще какой-то практический смысл рассчитывать здесь в дальнейшем на грамотные консультации опытных специалистов?
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы