|
|
|
| Приветствую Вас, форумчане! Обращаюсь за помощью, потому что самостоятельно решить проблему в течении долгого времени не смог. Во времени ограничен.
Задача:
1. После загрузки страницы запомнить значения 3х полей input (загружаются по умолчанию).
2. На событие select поля вызываем функцию. При выборе из "Селекта" пункта первого в те 3 поля вставляется значение "0", поля блокируются. При выборе пункта второго поля разблокируются и туда вставляются исходные значения.
В JS ни бум-бум. ;-) Для меня программирование хобби. Интересно решать задачки.
Очень Вас прошу помочь переписать код, потому что если вставлять НЕ исходные данные, а другие, то как тут быть, я не знаю.
-Димитрий, ВРН
<script type="text/javascript">
function agreeform(f) {
if (f.availability.selectedIndex == 0) {
f.reason_deliv.disabled="disabled"; f.time_deliv.value=0; f.time_deliv.style.backgroundColor = "#EEEEEE";
f.time_deliv.disabled="disabled"; f.reason_deliv.value=0; f.reason_deliv.style.backgroundColor = "#EEEEEE";
f.time_return.disabled="disabled"; f.time_return.value=0; f.time_return.style.backgroundColor = "#EEEEEE";
}
else
{
f.reason_deliv.disabled=0; f.time_deliv.style.backgroundColor = "#FFFFFF";
f.time_deliv.disabled=0; f.reason_deliv.style.backgroundColor = "#FFFFFF";
f.time_return.disabled=0; f.time_return.style.backgroundColor = "#FFFFFF";
};
};
</script>
|
| |
|
|
|
|
|
|
|
для: venzh
(19.11.2009 в 14:45)
| | Не уверен, что понял задачу, но если понял, то как-то так:
<input id="i-1" value="v-1" />
<input id="i-2" value="v-2" />
<input id="i-3" value="v-3" />
<script type="text/javascript">
<!--
var fields = new Array('i-1', 'i-2', 'i-3');
var values = {};
window.onload = function()
{
for(var i=0; i<fields.length; i++)
{
values[fields[i]] = document.getElementById(fields[i]).value; //запоминаем значения
}
}
function agreeform(sValue)
{
for(var i=0; i<fields.length; i++)
{
var field = document.getElementById(fields[i]);
field.disabled = sValue == "0" ? true : false;
field.value = sValue == "0" ? "0" : values[fields[i]];
}
}
//-->
</script>
<select onchange="agreeform(this.value)">
<option value="0">Первый пункт (блокировка)</option>
<option value="1">Второй пункт (снятие блокировки)</option>
</select>
|
Извините за возможные опечатки - код писал прямо в форме отправки. Здесь при выборе второго пункта select возвращаются те значения полей input, что были при загрузке страницы. Вы же их имели в виду под исходными? Если же при блокировке нужно запоминать текущие значения полей, код придется чуть-чуть изменить. | |
|
|
|