Проблемы с яваскриптом под разными броузерами
Скрипт работает нормально под ІЕ, под оперой загружаются данные только в селект сом1, а под мозиллой ни в один селект не грузятся данные.
С чем это может быть связано?
Итак скрипт:
<form name="forma" method="post">
<script>
var stad=new Array(['Чемпионат Украины', 'Кубок Украины'],['Лига Чемпионов', 'Кубок УЕФА'],['Чемпионат Мира', 'Чемпионат Европы']);
var command_arr=new Array('Динамо', 'Ливерпуль', 'Италия');
function load_command()
{
if (document.all)
var command = document.all['com1'];
else
var command = document.getElementById('com1');
for (i = command.options.length-1; i >= 0; i--)
command.options = null;
for (i=0; i < command_arr.length; i++)
{
command.options[command.length] =
new Option(command_arr, command_arr);
}
}
function reload_linked()
{
if (document.all){
var linked = document.all['competition'];
var command = document.all['com1'];
}else{
var linked = document.getElementById('competition');
var command = document.getElementById('com1');
}
for (i = linked.options.length-1; i >= 0; i--)
linked.options = null;
if (stad[command.selectedIndex].length>=1){
for (i=0; i < stad[command.selectedIndex].length; i++)
{
linked.options[linked.length] =
new Option(stad[command.selectedIndex], stad[command.selectedIndex]);
}
}
}
function init_geo(){
if (document.all){
var linked = document.all['competition'];
var command = document.all['com1'];
}else{
var linked = document.getElementById('competition');
var command = document.getElementById('com1');
}
command.selectedIndex=0;
reload_linked();
linked.selectedIndex=0;
}
</script> <select name='com1' onchange='reload_linked()'></select>
<select name='competition'></select> <input type="submit" name="sb" value="Go">
<script>load_command(); init_geo();</script></form>
<head>
<script language="JavaScript" type="text/javascript">
var stad = new Array(['Чемпионат Украины', 'Кубок Украины'],['Лига Чемпионов', 'Кубок УЕФА'],['Чемпионат Мира', 'Чемпионат Европы']);
var command_arr=new Array('Динамо', 'Ливерпуль', 'Италия');
function load_command() {
if (document.getElementById) {
var command = document.getElementById('com1');
for (i = command.length - 1; i >= 0; i--) {
command.remove(i);
}
for (i = 0; i < command_arr.length; i++) {
var victim = document.createElement('OPTION');
victim.setAttribute('nodeName',command_arr);
victim.setAttribute('nodeValue',command_arr);
victim.text = command_arr;
command.appendChild(victim);
victim = null;
}
}
}
function reload_linked() {
if (document.getElementById) {
var linked = document.getElementById('competition');
var command = document.getElementById('com1');
for (i = linked.length - 1; i >= 0; i--) {
linked.remove(i);
}
var command_ind = command.selectedIndex;
if (stad[command_ind].length) {
for (i = 0; i < stad[command_ind].length; i++) {
var victim = document.createElement('OPTION');
victim.setAttribute('nodeName',stad[command_ind]);
victim.setAttribute('nodeValue',stad[command_ind]);
victim.text = stad[command_ind];
linked.appendChild(victim);
victim = null;
}
}
}
}
function init_geo() {
if (document.getElementById) {
var linked = document.getElementById('competition');
var command = document.getElementById('com1');
command.selectedIndex = 0;
reload_linked();
linked.selectedIndex = 0;
}
}
</script>
</head>
<body>
<form name="forma" method="post">
<select name='com1' id='com1' onchange='reload_linked()'></select>
<select name='competition' id='competition'></select>
<input type="submit" name="sb" value="Go">
</form>
<script>load_command(); init_geo();</script></form>
</body>
</html>
вот версия под оперу и мазила-подобных;) NS, Mozilla, Mz:FireFox.. пашет, под ие делай сам=)
За NS можно не беспокоица, по идее должны все версии дошедшие до наших времен пахать) И за Мазилу тем более..)) ДА и опера, если мне не изменяет память, чуть-ли не с рождения w3c dom держит.. в общем, флаг тебе в руки, пиши под ie:), ничего проще быть не может=)