|
 811 байт |
|
| Вот так работает
<script>
function gorod()
{
var t = document.fq.sel.options[document.fq.sel.selectedIndex].value;
document.getElementById("gorod").value += t;
}
</script>
<body>
<form method="post" name="fq" id="fq" action="test.php">
<select id="sel" onChange="gorod()">
<option>Города</option>
<option value='/?page=15'>Москва</option>
<option value='/?page=12'>Воркута</option>
<option value='/?page=72'>Севостополь</option>
</select> </form>
<form method="post" name="f" id="f" action="test.php">
<input name="gorod" type="text" />
</form>
|
А если поместить форму в форму вот так то нет:
<script>
function gorod()
{
var t = document.fq.sel.options[document.fq.sel.selectedIndex].value;
document.getElementById("gorod").value += t;
}
</script>
<body>
<form method="post" name="f" id="f" action="test.php">
<input name="gorod" type="text" />
<form method="post" name="fq" id="fq" action="test.php">
<select id="sel" onChange="gorod()">
<option>Города</option>
<option value='/?page=15'>Москва</option>
<option value='/?page=12'>Воркута</option>
<option value='/?page=72'>Севастополь</option>
</select> </form>
</form>
|
Если в js поменять на название главной формы то тоже нет
</head>
<script>
function gorod()
{
var t = document.f.sel.options[document.f.sel.selectedIndex].value;
document.getElementById("gorod").value += t;
}
</script>
<body>
<form method="post" name="f" id="f" action="test.php">
<input name="gorod" type="text" />
<select id="sel" onChange="gorod()">
<option>Города</option>
<option value='/?page=15'>Москва</option>
<option value='/?page=12'>Воркута</option>
<option value='/?page=72'>Севастополь</option>
</select>
</form>
</body>
</html>
|
А если вынести <input name="gorod" type="text" /> за форму то все нормально
<script>
function gorod()
{
var t = document.f.sel.options[document.f.sel.selectedIndex].value;
document.getElementById("gorod").value += t;
}
</script>
<body>
<input name="gorod" type="text" />
<form method="post" name="f" id="f" action="test.php">
<select id="sel" onChange="gorod()">
<option>Города</option>
<option value='/?page=15'>Москва</option>
<option value='/?page=12'>Воркута</option>
<option value='/?page=72'>Севастополь</option>
</select>
</form>
</body>
</html>
|
Почему так происходит? и как сделать чтобы нужные данные заносились в инпут находясь в одной форме?
Последний вариант для наглядности прикреплен | |
|
|
|
|
|
|
|
для: vquery
(09.03.2007 в 04:17)
| | Форма не должна включать в себя еще одну (две, три...) вложенную форму.
Исходите из этого соображения. | |
|
|
|
|
|
|
|
для: CNT
(09.03.2007 в 04:29)
| | Исходя из этого сооьбражения я написал вариант 3... но не работает почему то, так не должно быть по моему | |
|
|
|
|
|
|
|
для: vquery
(10.03.2007 в 01:30)
| | А всё потому, что не знаете, что "велик и могуч" не только русский язык, но также и язык аглицкий.
У вас что, фантазии совсем не хватает, чтобы двум разным объектам придумать два разных имени?
У вас функция именуется gorod и текстовое поле имеет имя gorod.
Как бедному браузеру разобраться - что именно имеете в виду вы каждый конкретный раз?
PS. В функции ещё сделайте проверку на (selectedIndex == 0) - при true чтобы она вам undefined в текстовое поле не засовывала. | |
|
|
|