|
|
|
| Проблема простая и уверен известная, но что то никак не могу решение найти. Не кидать тухлыми яйцами если такая тема была.
Есть код типа
<script>
function test() {
document.getElementById('somediv').innerHTML = 'TEST';
}
</script>
<button name="testBtn" onClick="test();"></button>
<div id="somediv">
</div>
|
Так вот в этом случае getElementById не видит somediv, видимо потому, что тот был объявлен ниже, чем вызов.
Но мне необходимо вызвать функцию, обрабатывающую somediv именно выше. Как увидеть этот Id. Спасибо. | |
|
|
|
|
|
|
|
для: Organ
(23.06.2006 в 09:41)
| | Сам div
загружается после скрипта.
Тоесть скрипт его сначала не видит, потом вырубается и только тогда повляется твой duv.
Вывод: надо переставить div до скрипта.
Ну такое только в IE, но надо не забывать что более 80% пользователей инета им и пользуются..
<button name="testBtn" onClick="test();"></button>
<div id="somediv">
</div>
<script>
function test() {
alert(document.getElementById('somediv').innerHTML = 'TEST';
}
</script>
|
| |
|
|
|
|
|
|
|
для: valenok
(23.06.2006 в 09:44)
| | alert(document.getElementById('somediv').innerHTML = 'TEST';
Чтото не пойму такой конструкции.
Может я просто скобки не досчитал или это не совсем то что вы хотели бы? | |
|
|
|
|
|
|
|
для: valenok
(23.06.2006 в 09:46)
| |
<input type="button" name="testBtn" onClick="test();">
<div id="somediv"> </div>
<script>
function test() { document.getElementById('somediv').innerHTML = 'TEST'; }
</script>
|
Наверное вы хотели это.. | |
|
|
|
|
|
|
|
для: valenok
(23.06.2006 в 09:47)
| | Да да alert( бы лишний. Переставил, все равно не видит его. Код например такой:
<form name="paramForm" id="paramForm">
<select name="group" onchange="requestValues();">
<option value="group1">group1
<option value="group2">group2
</select>
<select name="field">
<div id="fields">
</div>
</select>
</form>
<script>
function requestValues() {
if (document.paramForm.group.value == 'group1')
document.getElementById('fields').innerHTML = '<option value="val1">val1<option value="val2">val2';
else
document.getElementById('fields').innerHTML = '<option value="val3">val3<option value="val4">val4';
}
</script>
|
Не видит, потому что похоже функция то все равно вызвается до нужного div'а, неважно где она определена | |
|
|
|
|
|
|
|
для: Organ
(23.06.2006 в 10:02)
| | И не работает даже так почему то!
<form name="paramForm" id="paramForm">
<select name="field" size=1 class="editfield">
<div id="fields">
</div>
</select>
<br>
<select name="group" size=1 class="editfiled" onchange="requestValues();">
<option value="group1">group1
<option value="group2">group2
</select>
</form>
<script>
function requestValues() {
if (document.paramForm.group.value == 'group1')
document.getElementById('fields').innerHTML = '<option value="val1">val1<option value="val2">val2';
else
document.getElementById('fields').innerHTML = '<option value="val3">val3<option value="val4">val4';
}
</script>
|
| |
|
|
|
|
|
|
|
для: Organ
(23.06.2006 в 10:02)
| | Может и так.
Я просто не уверен что можно совать div в селект.
Почему бы вам не сделать :
<form name="paramForm" id="paramForm">
<select name="group" onchange="requestValues();">
<option value="group1">group1
<option value="group2">group2
</select>
<select name="field" id='sel'>
</select>
</form>
<script>
function requestValues() {
if (document.paramForm.group.value == 'group1')
{document.getElementById('sel').innerHTML = '<option value="val1">val1<option value="val2">val2';}
else
{document.getElementById('fields').innerHTML = '<option value="val3">val3<option value="val4">val4'; }
}
</script>
|
| |
|
|
|
|
|
|
|
для: valenok
(23.06.2006 в 10:14)
| | в яваскрипте не очень шарю... но видел в сетке решение подобной проблемы
вот урл: http://www.lessio.ru/css-js/4/ | |
|
|
|
|
|
|
|
для: valenok
(23.06.2006 в 10:14)
| | Да дело было в том, что div нельзя совать внутрь селекта. Хотя так тоже не работает, но выведу селект целиком.. Спасибо. | |
|
|
|
|
|
|
|
для: Organ
(23.06.2006 в 10:21)
| | Раз вы уж выводите весь селект.
Может их стоит заранее все вывести но отображать только нужный при помощи: display:none; ? | |
|
|
|
|
|
|
|
для: valenok
(23.06.2006 в 10:35)
| | Да не, у меня там ajax реализован, лишние данные не выводятся, а запрашиваеются с сервера. | |
|
|
|