Продолжу тему...
Есть три INPUTа и один выпадающий список.
Есть строки: слово 1, слово 2, слово 3, слово 4.
Как сделать (если возможно), чтобы при нажатии на любое из слов: слово 1, слово 2 и слово 3 подставлялись в соответствующие им поля INPUT, а выпадающий список принимал значение в зависимости от слова 4?
11. chiv - 06 Апреля, 2006 - 12:09:33 - перейти к сообщению
12. Леголегс - 06 Апреля, 2006 - 15:24:53 - перейти к сообщению
chiv
Для слов 1-3:
Для слов 1-3:
CODE:
<script type="text/javascript">
function word(w)
{
document.getElementById("txt"+w.id).value=w.innerHTML;
}
</script>
<input type="text" id="txtword1">
<input type="text" id="txtword2">
<input type="text" id="txtword3">
...
<a href="#" id="word1" onclick="word(this);return false;">слово 1</a>
<a href="#" id="word2" onclick="word(this);return false;">слово 2</a>
<a href="#" id="word3" onclick="word(this);return false;">слово 3</a>
А вот начсёт списка надо уточнить. У тебя список вида<script type="text/javascript">
function word(w)
{
document.getElementById("txt"+w.id).value=w.innerHTML;
}
</script>
<input type="text" id="txtword1">
<input type="text" id="txtword2">
<input type="text" id="txtword3">
...
<a href="#" id="word1" onclick="word(this);return false;">слово 1</a>
<a href="#" id="word2" onclick="word(this);return false;">слово 2</a>
<a href="#" id="word3" onclick="word(this);return false;">слово 3</a>
CODE:
или<option value=1>бла-бла
CODE:
<option value="бла-бла">бла-бла
13. chiv - 07 Апреля, 2006 - 00:32:44 - перейти к сообщению
Список вида:
CODE:
<option value="бла">бла-бла-бла
14. chiv - 07 Апреля, 2006 - 00:47:39 - перейти к сообщению
Леголегс
Ты меня не совсем правильно понял - можно ли сделать так, чтобы при нажатии на любое (одно) из слов они ВСЕ подставлялись в соответствующие им поля формы?
Ты меня не совсем правильно понял - можно ли сделать так, чтобы при нажатии на любое (одно) из слов они ВСЕ подставлялись в соответствующие им поля формы?
15. Леголегс - 07 Апреля, 2006 - 15:58:59 - перейти к сообщению
chiv
Хм... Попробую завтра поковыряться.
Хм... Попробую завтра поковыряться.
16. Дмитрий Б. - 08 Апреля, 2006 - 00:12:44 - перейти к сообщению
CODE:
<html>
<head>
<...>
<script type="text/javascript">
<!--
function setFormElements(wordsSetIndex, wordsToInputs, wordsToSelects)
{
var i, j, a, o;
for (i=1; i<=wordsToInputs; i++)
document.getElementById('input'+i).value=document.getElementById('inputWord'+wordsSetIndex+'_'+i).innerHTML;
for (i=1; i<=wordsToSelects; i++)
{
a=document.getElementById('selectWord'+wordsSetIndex+'_'+i).innerHTML;
o=document.getElementById('select'+i);
for (j=0; j<o.options.length; j++)
if (o.options[j].innerHTML==a)
{
o.selectedIndex=j;
break;
}
}
}
function setWordsSet(idx)
{
var wordsToInputs=3;//Сколько у нас полей 'input'
var wordsToSelects=2;//Сколько у нас списков 'select'
setFormElements(idx, wordsToInputs, wordsToSelects);
}
//-->
</script>
</head>
<body>
<...>
<form ...>
Фамилия:<BR><input type="text" id="input1"><BR>
Имя:<BR><input type="text" id="input2"><BR>
Отчество:<BR><input type="text" id="input3"><BR>
Профессия:<BR>
<select id="select1">
<option value="Деньгу зашибать">Миллионер</option>
<option value="Что угодно">Птица вольного полёта</option>
<option value="Воровать помаленечку">Сын лейтинанта Шмидта</option>
</select><BR>
Стартовый капитал:<BR>
<select id="select2">
<option value="3 р. 62 к.">Я очень бедный</option>
<option value="0">Меня кормят идеи</option>
<option value="8 000 000">Сорок два рубля в месяц</option>
</select><hr>
</form>
<...>
<p><a href="javascript:setWordsSet(1);"><b id="inputWord1_1">Бендер</b> <b id="inputWord1_2">Остап</b> <b id="inputWord1_3">Ибрагимович</b>, <b id="selectWord1_1">Птица вольного полёта</b>: "<i id="selectWord1_2">Меня кормят идеи</i>"</a></p>
<p><a href="javascript:setWordsSet(2);"><b id="inputWord2_1">Паниковский</b> <b id="inputWord2_2">Михаил</b> <b id="inputWord2_3">Самуэлич</b>, <b id="selectWord2_1">Сын лейтинанта Шмидта</b>: "<i id="selectWord2_2">Я очень бедный</i>"</a></p>
<p><a href="javascript:setWordsSet(3);"><b id="inputWord3_1">Корейко</b> <b id="inputWord3_2">Александр</b> <b id="inputWord3_3">Иванович</b>, <b id="selectWord3_1">Миллионер</b>: "<i id="selectWord3_2">Сорок два рубля в месяц</i>"</a></p>
<...>
</body>
</html>
<head>
<...>
<script type="text/javascript">
<!--
function setFormElements(wordsSetIndex, wordsToInputs, wordsToSelects)
{
var i, j, a, o;
for (i=1; i<=wordsToInputs; i++)
document.getElementById('input'+i).value=document.getElementById('inputWord'+wordsSetIndex+'_'+i).innerHTML;
for (i=1; i<=wordsToSelects; i++)
{
a=document.getElementById('selectWord'+wordsSetIndex+'_'+i).innerHTML;
o=document.getElementById('select'+i);
for (j=0; j<o.options.length; j++)
if (o.options[j].innerHTML==a)
{
o.selectedIndex=j;
break;
}
}
}
function setWordsSet(idx)
{
var wordsToInputs=3;//Сколько у нас полей 'input'
var wordsToSelects=2;//Сколько у нас списков 'select'
setFormElements(idx, wordsToInputs, wordsToSelects);
}
//-->
</script>
</head>
<body>
<...>
<form ...>
Фамилия:<BR><input type="text" id="input1"><BR>
Имя:<BR><input type="text" id="input2"><BR>
Отчество:<BR><input type="text" id="input3"><BR>
Профессия:<BR>
<select id="select1">
<option value="Деньгу зашибать">Миллионер</option>
<option value="Что угодно">Птица вольного полёта</option>
<option value="Воровать помаленечку">Сын лейтинанта Шмидта</option>
</select><BR>
Стартовый капитал:<BR>
<select id="select2">
<option value="3 р. 62 к.">Я очень бедный</option>
<option value="0">Меня кормят идеи</option>
<option value="8 000 000">Сорок два рубля в месяц</option>
</select><hr>
</form>
<...>
<p><a href="javascript:setWordsSet(1);"><b id="inputWord1_1">Бендер</b> <b id="inputWord1_2">Остап</b> <b id="inputWord1_3">Ибрагимович</b>, <b id="selectWord1_1">Птица вольного полёта</b>: "<i id="selectWord1_2">Меня кормят идеи</i>"</a></p>
<p><a href="javascript:setWordsSet(2);"><b id="inputWord2_1">Паниковский</b> <b id="inputWord2_2">Михаил</b> <b id="inputWord2_3">Самуэлич</b>, <b id="selectWord2_1">Сын лейтинанта Шмидта</b>: "<i id="selectWord2_2">Я очень бедный</i>"</a></p>
<p><a href="javascript:setWordsSet(3);"><b id="inputWord3_1">Корейко</b> <b id="inputWord3_2">Александр</b> <b id="inputWord3_3">Иванович</b>, <b id="selectWord3_1">Миллионер</b>: "<i id="selectWord3_2">Сорок два рубля в месяц</i>"</a></p>
<...>
</body>
</html>
17. chiv - 10 Апреля, 2006 - 12:29:34 - перейти к сообщению
Дмитрий Б.
Спасибо!
Это даже более сложный вариант, чем требовалось.
Спасибо!
Это даже более сложный вариант, чем требовалось.
18. Дмитрий Б. - 10 Апреля, 2006 - 20:59:22 - перейти к сообщению
chiv
Зато универсальный
Зато универсальный
19. chiv - 11 Апреля, 2006 - 02:57:18 - перейти к сообщению
Возникла проблема с подстановкой в список...
Вот пример кода:
В инпут всё подставляется, а в селект нет. ИЕ при этом никаких ошибок не выдаёт...
Вот пример кода:
CODE:
...
<script type="text/javascript">
function word()
{
var i, j, k, a, o, z;
for (i=1; i<=3; i++)
{
if (i == 1) { j = "txtf"; k = "famil"; }
if (i == 2) { j = "txti"; k = "imy"; }
if (i == 3) { j = "txto"; k = "otches"; }
document.getElementById(j).value=document.getElementById(k).innerHTML;
}
a = document.getElementById("podrob").innerHTML;
o = document.getElementById("txtp");
for (z=0; z<o.options.length; z++)
{
if (o.options[z].innerHTML == a)
{
o.selectedIndex=z;
break;
}
}
}
</script>
<FORM ACTION="./out.php" METHOD="post" name="outform" onsubmit="return confirm_dan();">
<TABLE CELLPADING="2" CELLSPACING="5" BORDER="0">
<TR valign="middle">
<TD>Фамилия:</TD>
<TD>
<INPUT SIZE="20" NAME="f" VALUE="" MAXLENGTH="20" id="txtf" onkeyup="checkName(this.value,'')" onChange="checkName(this.value,'')">
<a id="famil" href="#" onclick="word();">test</a>
</td>
</tr><TR valign="middle">
<TD>Имя:</TD>
<TD>
<INPUT SIZE="20" NAME="imya" VALUE="" MAXLENGTH="20" id="txti">
<a id="imy" href="#" onclick="word();">test</a>
</td>
</tr><TR valign="middle">
<TD>Отчество:</TD>
<TD>
<INPUT SIZE="20" NAME="o" VALUE="" MAXLENGTH="20" id="txto">
<a id="otches" href="#" onclick="word();">test</a>
</td>
</tr><TR valign="middle">
<TD>Подразделение:</TD>
<TD>
<a id="podrob" href="#" onclick="word();">test</a>
<BR>
<SELECT SINGLE NAME="p" SIZE="1" id="txtp">
<OPTION value="2">Административно-управленческий аппарат - Аппарат руководства</OPTION>
<OPTION value="1">Административно-управленческий аппарат - руководство</OPTION>
<OPTION value="3">Бухгалтерия</OPTION>
<OPTION value="41">Коммерческий департамент</OPTION>
<OPTION value="20">Коммерческий департамент - Отдел закупок и логистики</OPTION>
<OPTION value="21">Коммерческий департамент - Отдел продаж</OPTION>
</SELECT>
</TD></TR>
</table>
<INPUT TYPE="SUBMIT" SIZE="70" NAME="out" VALUE="Выдать">
</FORM>
...
<script type="text/javascript">
function word()
{
var i, j, k, a, o, z;
for (i=1; i<=3; i++)
{
if (i == 1) { j = "txtf"; k = "famil"; }
if (i == 2) { j = "txti"; k = "imy"; }
if (i == 3) { j = "txto"; k = "otches"; }
document.getElementById(j).value=document.getElementById(k).innerHTML;
}
a = document.getElementById("podrob").innerHTML;
o = document.getElementById("txtp");
for (z=0; z<o.options.length; z++)
{
if (o.options[z].innerHTML == a)
{
o.selectedIndex=z;
break;
}
}
}
</script>
<FORM ACTION="./out.php" METHOD="post" name="outform" onsubmit="return confirm_dan();">
<TABLE CELLPADING="2" CELLSPACING="5" BORDER="0">
<TR valign="middle">
<TD>Фамилия:</TD>
<TD>
<INPUT SIZE="20" NAME="f" VALUE="" MAXLENGTH="20" id="txtf" onkeyup="checkName(this.value,'')" onChange="checkName(this.value,'')">
<a id="famil" href="#" onclick="word();">test</a>
</td>
</tr><TR valign="middle">
<TD>Имя:</TD>
<TD>
<INPUT SIZE="20" NAME="imya" VALUE="" MAXLENGTH="20" id="txti">
<a id="imy" href="#" onclick="word();">test</a>
</td>
</tr><TR valign="middle">
<TD>Отчество:</TD>
<TD>
<INPUT SIZE="20" NAME="o" VALUE="" MAXLENGTH="20" id="txto">
<a id="otches" href="#" onclick="word();">test</a>
</td>
</tr><TR valign="middle">
<TD>Подразделение:</TD>
<TD>
<a id="podrob" href="#" onclick="word();">test</a>
<BR>
<SELECT SINGLE NAME="p" SIZE="1" id="txtp">
<OPTION value="2">Административно-управленческий аппарат - Аппарат руководства</OPTION>
<OPTION value="1">Административно-управленческий аппарат - руководство</OPTION>
<OPTION value="3">Бухгалтерия</OPTION>
<OPTION value="41">Коммерческий департамент</OPTION>
<OPTION value="20">Коммерческий департамент - Отдел закупок и логистики</OPTION>
<OPTION value="21">Коммерческий департамент - Отдел продаж</OPTION>
</SELECT>
</TD></TR>
</table>
<INPUT TYPE="SUBMIT" SIZE="70" NAME="out" VALUE="Выдать">
</FORM>
...
В инпут всё подставляется, а в селект нет. ИЕ при этом никаких ошибок не выдаёт...
20. Дмитрий Б. - 11 Апреля, 2006 - 06:30:11 - перейти к сообщению
chiv
На первый взгляд всё в порядке... podrob - это что за зверь? Если input или textarea, то вместо innerHTML надо пользоваться value. Если не произошло совпадение с точностью до одной буквы и регистра, скрипт будет вести себя так, как ты сказал.
На первый взгляд всё в порядке... podrob - это что за зверь? Если input или textarea, то вместо innerHTML надо пользоваться value. Если не произошло совпадение с точностью до одной буквы и регистра, скрипт будет вести себя так, как ты сказал.