[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Помогите с зависимым селектом
Chemist
Написал код для зависимого селекта на сайте, но он почему-то работает только в Opera 9.6 и в Mozila 3, а в более ранних версиях Opera и во всех версиях IE не работает.

Помогите, пожалуйста!!! У меня уже мозг начинает вытекать! wacko.gif

Вот, собсно, код:
index.php
Код

<html>
<head>
[i]бла-бла-бла[/i]
<body>
<script type="text/jаvаscript" src="JsHttpRequest.js"></script>
<script type="text/jаvаscript">
function doload(value){
var req=new JsHttpRequest();
req.onreadystatechange=function(){
if(req.readyState==4) document.getElementById("result").innerHTML=req.responseText;}
req.open(null,"ofce/select.php",true);
req.send({kolvotov:value});}
</script>
[i]бла-бла-бла[/i]
<select name="kolvotov" onChange="doload(this.value);">
<option value="" selected>Кол-во групп ТН ВЭД в постановлении</option>
<option>1</option>
<option>2</option>
</select>
[b]<div id="result"></div>[/b] ..Здесь должны появится данные из select.php
[i]бла-бла-бла[/i]
</body>
</html>


select.php
Код

<?
require("JsHttpRequest.php");
$JsHttpRequest=new JsHttpRequest("windows-1251");

switch($_REQUEST["kolvotov"]):

case "1":
for ($i=0; $i<1; $i++) {
echo '<p class="style1">Группа ТН ВЭД:
               <select name="kod['.$i.']" size="1" id="kod['.$i.']">
                   <option selected></option>
                   <option>01</option>
                   <option>02</option>
                   <option>03</option>
               </select></p>
             <table width="71%" height="0%" border="0" id="001">
               <tr>
                 <td width="47%" height="68%"><span class="style1">Количество объектов:</span></td>
                 <td width="43%">всего объектов</td>
                 <td width="10%"><input name="all['.$i.']" type="text" id="all['.$i.']" value="0" size="4" maxlength="3"></td>
               </tr>
               <tr>
                 <td height="32%">&nbsp;</td>
                 <td><div id="f2'.$i.'" style="display:none;">недостоверных</div></td>
                 <td><input name="ndst2['.$i.']" type="text" id="f3'.$i.'" style="display:none" size="4" maxlength="3"></td>
               </tr>
             </table>';
  }
break;


case "2":
for ($i=0; $i<2; $i++) {
echo '<p class="style1">Группа ТН ВЭД:
               <select name="kod['.$i.']" size="1" id="kod['.$i.']">
                   <option selected></option>
                   <option>01</option>
                   <option>02</option>
               </select></p>
             <table width="71%" height="0%" border="0" id="001">
               <tr>
                 <td width="47%" height="68%"><span class="style1">Количество объектов:</span></td>
                 <td width="43%">всего объектов</td>
                 <td width="10%"><input name="all['.$i.']" type="text" id="all['.$i.']" value="0" size="4" maxlength="3"></td>
               </tr>
               <tr>
                 <td height="32%">&nbsp;</td>
                 <td><div id="f2'.$i.'" style="display:none;">недостоверных</div></td>
                 <td><input name="ndst2['.$i.']" type="text" id="f3'.$i.'" style="display:none" size="4" maxlength="3"></td>
               </tr>
             </table>';
  }
break;
?>


Что здесь не так??? unsure.gif



Спустя 12 часов, 39 минут, 24 секунды (24.12.2008 - 09:23) ExtendedPlay написал(а):
а что именно не работает? просто в коде вроде нет ничего особенного... может там просто кодировка вин1251 косячит) какую-нить ашибку выдает?)

Спустя 44 минуты, 8 секунд (24.12.2008 - 10:07) sergeiss написал(а):
Цитата (Chemist @ 23.12.2008 - 20:44)
...но он почему-то работает только в Opera 9.6 и в Mozila 3, а в более ранних версиях Opera и во всех версиях IE не работает.

В JS есть такие методы у объектов, которые могут быть определены только для ИЭ, или, наоборот, только в ИЭ не определены. И это несмотря на какие-то там стандарты!!!
Также, могут быть некие новые фичи, которые введены еще не во всех браузерах. И они в принципе не могут быть в старых браузерах. А судя по общему описанию, как раз нечто такое и наблюдается.

Я не вникал в твой текст (да и вообще с JS немного работал пока), поэтому пишу только общие соображения smile.gif Но с этой несовместимостью уже тоже пообщался (в моем случае было, что в ИЭ работает код, и больше нигде).

Покопай в этом направлении.

Спустя 1 час, 6 минут, 28 секунд (24.12.2008 - 11:14) Sylex написал(а):
Chemist, проводи эксперименты

Спустя 9 часов, 38 минут, 51 секунда (24.12.2008 - 20:53) Chemist написал(а):
Цитата (ExtendedPlay @ 24.12.2008 - 09:23)
а что именно не работает? просто в коде вроде нет ничего особенного... может там просто кодировка вин1251 косячит) какую-нить ашибку выдает?)

В том то и дело, чо ничего не выводит, а далжен выводить данные из select.php sad.gif Просто в том месте, где это должно появиться ничего нет.

Да и ошибок никаких не выводит. ph34r.gif

Спустя 8 минут, 34 секунды (24.12.2008 - 21:01) Гость написал(а):
Ты смотрел результаты которые передаются на сервер ?
Если нет, - то смотри, что сидишь то ) если да то результаты в студию. )

Firefox+Firebug
Или же тупо
В селект php пишешь в файл что пришло, - потом смотришь.


Спустя 3 минуты, 37 секунд (24.12.2008 - 21:05) Гость написал(а):
Просто понимаете как то лениво качать библиотеку HttpRequest )
Так что вы пишите подробно, что как почему и кому всё это надо.
Да может просто в Error консоли в Firefox будет видно.

Спустя 22 минуты, 45 секунд (24.12.2008 - 21:27) Гость написал(а):
Меня как бы смущает вот это req.send({kolvotov:value});}
но как говорится , вскрытие покажет.

Спустя 1 час, 42 минуты, 25 секунд (24.12.2008 - 23:10) Chemist написал(а):
Цитата (Гость @ 24.12.2008 - 21:27)
Меня как бы смущает вот это req.send({kolvotov:value});}
но как говорится , вскрытие покажет.

А что именно нетак?
Я в яваскрипт новичок, да и в php тоже smile.gif

А по поводу Error консоли в Firefox - никаких ошибок нет (да и в Mozilla все нормально работает). Неужто IE такой галимый и не поддерживает часть скриптов? blink.gif ( у меня версия IE 7.0.5730.13)

Спустя 8 минут, 45 секунд (24.12.2008 - 23:19) Chemist написал(а):
Разобрался, в чем загвоздка!!! tongue.gif
Вместо
Код

echo '<p class="style1">Группа ТН ВЭД:
              <select name="kod['.$i.']" size="1" id="kod['.$i.']">
                  <option selected></option>
                  <option>01</option>
                  <option>02</option>
              </select></p>
            <table width="71%" height="0%" border="0" id="001">
              <tr>
                <td width="47%" height="68%"><span class="style1">Количество объектов:</span></td>
                <td width="43%">всего объектов</td>
                <td width="10%"><input name="all['.$i.']" type="text" id="all['.$i.']" value="0" size="4" maxlength="3"></td>
              </tr>
              <tr>
                <td height="32%">&nbsp;</td>
                <td><div id="f2'.$i.'" style="display:none;">недостоверных</div></td>
                <td><input name="ndst2['.$i.']" type="text" id="f3'.$i.'" style="display:none" size="4" maxlength="3"></td>
              </tr>
            </table>';

надо писать
Код

$a= "<p class="style1">Группа ТН ВЭД:
              <select name="kod['.$i.']" size="1" id="kod['.$i.']">
                  <option selected></option>
                  <option>01</option>
                  <option>02</option>
              </select></p>
            <table width="71%" height="0%" border="0" id="001">
              <tr>
                <td width="47%" height="68%"><span class="style1">Количество объектов:</span></td>
                <td width="43%">всего объектов</td>
                <td width="10%"><input name="all['.$i.']" type="text" id="all['.$i.']" value="0" size="4" maxlength="3"></td>
              </tr>
              <tr>
                <td height="32%">&nbsp;</td>
                <td><div id="f2'.$i.'" style="display:none;">недостоверных</div></td>
                <td><input name="ndst2['.$i.']" type="text" id="f3'.$i.'" style="display:none" size="4" maxlength="3"></td>
              </tr>
            </table>";
........
default: $a=null;
endswitch;
echo $a;

Но теперь другая проблема - разобраться с кавычками! blink.gif

Спустя 3 минуты, 47 секунд (24.12.2008 - 23:22) Гость написал(а):
Редактор с подсветкой кода тебе в помощь.
Сразу увидишь где косяк.

Спустя 38 секунд (24.12.2008 - 23:23) Гость написал(а):
Мда..
Notepad++
SciTE
Bred вроде тоже..

это из лёгкого..

Спустя 21 час, 35 минут, 43 секунды (25.12.2008 - 20:59) asd написал(а):
[IMG]"><i>red[/IMG


_____________
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.