Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Окажите помощь РНР-сту с событиями JS (https://javascript.ru/forum/misc/28941-okazhite-pomoshh-rnr-stu-s-sobytiyami-js.html)

brigz 07.06.2012 21:04

Окажите помощь РНР-сту с событиями JS
 
Имеется РНР страница с формой из двух полей: text и select.
<html>

<head>
<title></title>
</head>

<body>

<form method="POST" action="" name="form">
	<input type="text" name="T1" value="<?php echo $this; ?>" />
	
	<select size="1" name="D1">
		<option <?php if ($var == 0){echo 'selected';} ?>>1</option>
		<option <?php if ($var == 1){echo 'selected';} ?>>2</option>
	</select>
	
	<input type="submit" value="Отправить" name="B1" />
</form>

</body>

</html>

Начальное значение текстового поля и активность 1-й или 2-й опции поля select задаются переменными РНР. Как реализовать следующий сценарий: при изменении пользователем опций с 1 на 2 значение текстового поля изменялось бы на "бла-бла", а при смене опций с 2 на 1 - на "блу-блу". Понимаю, что реализовать такой сценарий возможно только на событиях JS, но ничего не получается. Если кто поможет - заранее спасибо.

Amphiluke 07.06.2012 21:29

Примерно так:

<script type="text/javascript">
window.onload = function () {
    var sel = document.getElementById("D1"),
        txt = document.getElementById("T1"),
        vals = { "bla-bla": "бла-бла", "blu-blu": "блу-блу" };
    sel.onchange = function () {
        txt.value = vals[this.value] || "";
    };
};
</script>

...

<input type="text" name="T1" id="T1" value="<?php echo $this; ?>" />

<select size="1" name="D1" id="D1">
    <option value="bla-bla"<?php if ($var == 0){echo ' selected';} ?>>1</option>
    <option value="blu-blu"<?php if ($var == 1){echo ' selected';} ?>>2</option>
</select>

brigz 07.06.2012 21:36

спасибо за ответ, но сразу же возник еще вопрос
vals = { "bla-bla": "бла-бла", "blu-blu": "блу-блу" };

что есть "bla-bla и blu-blu? хочу разобраться

Amphiluke 07.06.2012 21:41

Это ключи в пользовательском объекте. Можете назвать как угодно, лишь бы совпали со значением атрибута value соответствующего элемента <option>

brigz 07.06.2012 21:48

Еще раз спасибо, попробую разобраться.


Часовой пояс GMT +3, время: 09:24.