Mozilla Firefox и Getelementbyid

Тема в разделе "HTML, CSS, XML, JavaScript", создана пользователем realmadrid, 14 авг 2007.

  1. realmadrid

    realmadrid Гость

    Здравствуйте!
    У меня на странице находятся списки 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. Какой альтернативный вариант применить?
     
  2. Pasha

    Pasha Гость

    Для: realmadrid
    Код (Text):
    <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. Что-то вы неправильно делаете.
     
  3. realmadrid

    realmadrid Гость

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

    <!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>
     
  4. Pasha

    Pasha Гость

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

    realmadrid Гость

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

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

    Gisma Гость

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

    Pasha Гость

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

Поделиться этой страницей