Mozilla Firefox и Getelementbyid

  • Автор темы realmadrid
  • Дата начала
R

realmadrid

#1
Здравствуйте!
У меня на странице находятся списки select (kat, wherefrom, where). Когда я пытаюсь "вынуть" значения из этих списков при помощи следующего кода

var kat = document.getElementById("kat").value;
var wherefrom = document.getElementById("wherefrom").value;
var where = document.getElementById("where").value;

получается только в IE и Opera, Mozilla Firefox на это не реагирует. Насколько я понимаю, не поддерживает getElementById. Какой альтернативный вариант применить?
 
P

Pasha

#2
Для: realmadrid
Код:
<select id="test">
<option selected>1</option>
<option>2</option>
<option>3</option>
</select>

<script type="text/javascript">
var testValue = document.getElementById('test').value;
alert(testValue);
</script>
- работает в FF. Что-то вы неправильно делаете.
 
R

realmadrid

#3
Мой код полностью:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>Hidden IFrame Example 1</title>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<script language="javascript">
function requestCustomerInfo()
{
var kat = document.getElementById("kat").value;
var wherefrom = document.getElementById("wherefrom").value;
var where = document.getElementById("where").value;
top.frames["hiddenFrame"].location = "cal.php?kat="+kat+"&wherefrom="+wherefrom+"&where="+where;
}

function displayCustomerInfo(sText)
{
var divCustomerInfo = document.getElementById("divCustomerInfo");
divCustomerInfo.innerHTML = sText;
}
</script>
</head>

<body>
<?php
include("includes/placesarray.php");
?>

Выберите категорию
<select name="kat">
<?
foreach($array_kat as $key=> $value){
if (isset($_GET['kat'])) echo "<option value='$key' selected>$value</option>";
else echo "<option value='$key'>$value</option>";
}
?>
</select>
Откуда
<select name="wherefrom">
<?
foreach($array_from as $key=> $value){
if (isset($_GET['wherefrom'])) echo "<option value='$key' selected>$value</option>";
else echo "<option value='$key'>$value</option>";
}
?>
</select>
Куда
<select name="where">
<?
foreach($array_where as $key=> $value){
if (isset($_GET['where'])) echo "<option value='$key' selected>$value</option>";
else echo "<option value='$key'>$value</option>";
}
?>
</select>

<div style="width:118px; height:19px; cursor:hand;" onclick="requestCustomerInfo();">
<input name="image" type=image id=chImg007 src="images/calculate.jpg" width="118" height="19" border="0" onclick="requestCustomerInfo();">
</div>
</td>

<div id="divCustomerInfo"></div>
<iframe src="about:blank" name="hiddenFrame" width="0" height="0" frameborder="0"></iframe>
</body>
</html>

Файл cal.php

<?php
if (isset($_GET['kat'])&&isset($_GET['wherefrom'])&&isset($_GET['where']))
{
$kat=$_GET['kat'];
if ($kat==1)
include("includes/taxiarray.php");
if ($kat==2)
include("includes/taxiarray2.php");

$wherefrom=$_GET['wherefrom'];

if ((($kat==2) AND ($_GET['where']==25)) OR (($kat==2) AND ($wherefrom==28)) OR ($taxiarray[$wherefrom][$_GET['where']]==''))
{$sInfo="<p style=\"color:#FFFFFF; font-size:13px; padding-left:7px;\" align=\"left\">Стоимость поездки договорная.</p>";}
else if ($taxiarray[$wherefrom][$_GET['where']]<>'')
{$sInfo="<p style=\"color:#FFFFFF; font-size:13px; padding-left:3px;\" align=\"left\">Стоимость поездки ".$taxiarray[$_GET['wherefrom']][$_GET['where']]." р.</p>";}
}
?>
<script type="text/javascript">
window.onload = function () {
var divInfoToReturn = document.getElementById("divInfoToReturn");
parent.displayCustomerInfo(divInfoToReturn.innerHTML);
};

</script>
<div id="divInfoToReturn"><?php echo $sInfo ?></div>
 
P

Pasha

#4
Для: realmadrid
Почему document.getElementById("where") должен найти элемент <select name="where">?
И используй тэги, без них код совершенно нечитабельный.
 
R

realmadrid

#5
Гуру, ты знаешь, сколько я этим занимаюсь? 3 месяца. А от тебя отношение такое, будто я ошибку в слове "мама" допустил. Но за совет спасибо - сработало.

Кстати, Гуру, ты знаешь, что такое успех? Понять, что такое успех можно только поняв, что такое провал.
 
G

Gisma

#6
Ваша ошибка в том, что вы обращаетесь к ID-объектов (метод getElementById), а прописываете в свойствах объектов только name, пропишите атрибут id и всё будет ок :eek:
Для: realmadrid
а насчет 3 месяцев не нужно выпячивать грудь, многие тут 3 по 3 по 3 (3*3*3) месяца работают ;)
 
P

Pasha

#7
Для: realmadrid
Я видел достаточно много провалов :eek: Некоторые проекты проваливал сам, некоторые потом саппортил.
Отношене вполне нормальное. Если тебе дали рабочий пример, то можно просто вставить его в свой код, и сравнить построчно. Умение удачное использовать чужой код всегда приветствуется ;)