Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Общие вопросы > не работает скрипт в ie


Автор: Risyaalex 10.1.2011, 16:58
форма с динамическими селектами, работает в опере и мозилле, и не работает в ie, как ни кручу

вот код
 
Код

<?php
if (!isset ($_SESSION)) session_start();
include ("block/bd.php");
if (isset($_POST['city'])) {$city = $_POST['city']; if ($city == '') {unset ($city);}}
if (isset($_POST['podcat'])) {$podcat = $_POST['podcat']; if ($podcat == '') {unset ($podcat);}}

$result=mysql_query("SELECT id FROM podcat WHERE podcat='$podcat'");
$arr=mysql_fetch_array($result);
$podcat1=$arr['id'];
?>
<script type="text/javascript" src="111/ajax.js"></script>
        <table border="0">
  <tr>
    <td height="50" valign="middle"><form action="search_razdel.php" method="post">
            
       <label>
             <select class="select" name="city" id="city">
               <option class="option1" value="" selected>-Выберите город-</option>
               <option value="Винница">Винница</option>
               <option value="Днепропетровск">Днепропетровск</option>
               <option value="Донецк">Донецк</option>
               <option value="Житомир">Житомир</option>
               <option value="Запорожье">Запорожье</option>
               <option value="Ивано-Франковск">Ивано-Франковск</option>
               <option value="Киев">Киев</option>
               <option value="Кировоград">Кировоград</option>
               <option value="Луганск">Луганск</option>
               <option value="Луцк">Луцк</option>
               <option value="Львов">Львов</option>
               <option value="Николаев">Николаев</option>
               <option value="Одесса">Одесса</option>
               <option value="Полтава">Полтава</option>
               <option value="Ровно">Ровно</option>
               <option value="Севастополь">Севастополь</option>
               <option value="Симферополь">Симферополь</option>
               <option value="Сумы">Сумы</option>
               <option value="Тернополь">Тернополь</option>
               <option value="Харьков">Харьков</option>
               <option value="Херсон">Херсон</option>
               <option value="Хмельницкий">Хмельницкий</option>
               <option value="Черкассы">Черкассы</option>
               <option value="Чернигов">Чернигов</option>
               <option value="Черновцы">Черновцы</option>
             </select>
           </label>
     <?php
$result=mysql_query("SELECT * FROM `razdel`");
$result1=mysql_query("SELECT * FROM `razdel` WHERE razdel='$razdel'");
$arr1=mysql_fetch_array($result1);
echo '<select class="select" size="1" name="razdel" id="razdel">';
echo '<option class="option1" value="" selected>';
while($row=@mysql_fetch_array($result))
{                           // 0 - раздел
echo "-Выберите раздел-</option><option onclick='pisi(this.value,0)' value='{$row['razdel']}'>{$row['razdel']}</option>";
}

echo '</select>';

?><div class="search" id="cat"></div>
          <div class="search" id="sub"></div> 
          &nbsp;&nbsp;
          <input type="submit" name="submit" value="Поиск" />        </form>  
    </td>
  </tr>
</table>

<table class="index" width="600" border="0">
  <tr>
    <td>
         
        <?php
if (isset ($city) && isset ($podcat1)) {
$id=mysql_query("SELECT `id`,`title`,`style`,`foto1`,`cena`,`valuta`,`city`  FROM `paid` WHERE `city` = '$city' AND `podcat` = '$podcat1' ORDER BY `paid`.`data` DESC");
$rows = mysql_num_rows($id);
?>
        <p align="center">Всего найдено: <?php echo $rows ?></p>
        <?php 

    while ($row=@mysql_fetch_array($id)) {
    
 echo '<table class="index1" width="600" border="0" id="a'.$row['style'].'" cellpadding="0" cellspacing="0">';
    echo  "<tr><td align='center' class='mini_foto1' width='100'><a href='obyav.php?id=".$row['id']."'><img src='files/".$row['foto1']."'></a></td>";
     echo '<td width="300"><p><a href="obyav.php?id='.$row["id"].'">'.$row["title"].'</a></p> </td>';
     echo  "<td width='80'>".$row["cena"]."&nbsp;".$row["valuta"]."</td>";
     echo  "<td width='120'>".$row["city"]."</td></tr>";
     echo '</table><br />'; 
    
    }
    if ($rows < 1) echo "<p>Ничего не найдено</p>";
}
else echo "Поиск по городам<br />

"; 
    ?>



вот ajax.js
Код

function DGEBI(par){ return document.getElementById(par); }

// 0 - раздел
function pisi(value,param){

xmlhttp=(window.XMLHttpRequest)?new XMLHttpRequest():new ActiveXObject("Microsoft.XMLHTTP");
xmlhttp.onreadystatechange=function(){
  if (xmlhttp.readyState==4 && xmlhttp.status==200)
  {
    if(param==0){ DGEBI('cat').innerHTML = xmlhttp.responseText; }
    else
    if(param==1){ DGEBI('sub').innerHTML = xmlhttp.responseText; }
  }
 }
xmlhttp.open("POST","111/ajax.php",true);
xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");
xmlhttp.send("value="+value+"&param="+param);

}


и ajax.php
Код

<?php
header('Content-Type: text/html; charset=utf-8');
$db = mysql_connect('localhost','root','') or die(mysql_error());
mysql_select_db ('doska',$db) or die(mysql_error());
mysql_query('SET NAMES utf8');

$v=$_POST['value'];
if($_POST['param']=='0')
{ $result1=mysql_query("SELECT id FROM `razdel` WHERE `razdel`='$v'");
   $arr1=mysql_fetch_array($result1);
   $id = $arr1['id'];
   
    $result=mysql_query("SELECT * FROM `cat` WHERE `razdel`='$id'");
    echo '<select class="select" size="1" name="cat" id="cat">';
    echo '<option value="" selected>';
    while($row= mysql_fetch_array($result))
    {
        echo "<option onclick='pisi(this.value,1)' value='{$row['cat']}'>{$row['cat']}</option>";
    }
    echo '</select>';
}
elseif($_POST['param']=='1')
{
    $result2=mysql_query("SELECT id FROM `cat` WHERE `cat`='$v'");
   $arr2=mysql_fetch_array($result2);
   $id2 = $arr2['id'];
    $result=mysql_query("SELECT * FROM `podcat` WHERE `cat`='$id2'");
    echo '<select class="select" size="1" name="podcat" id="podcat">';
    while($row= mysql_fetch_array($result))
    {
        echo "<option value='{$row['podcat']}'>{$row['podcat']}</option>";
    }
    echo '</select>';

}

?>

Автор: s0lman 10.1.2011, 17:13
Цитата(Risyaalex @  10.1.2011,  16:58 Найти цитируемый пост)
не работает в ie,


что пишет?

Автор: Risyaalex 10.1.2011, 18:14
должен передаться параметр razdel через ajax.js в ajax.php.  и динамически раскрыться еще 2 selecta

при onchange selecta "razdel" ничего не происходит. и в коде тоже. не срабатывает

Автор: bars80080 10.1.2011, 19:43
Цитата(Risyaalex @  10.1.2011,  17:14 Найти цитируемый пост)
при onchange selecta "razdel" ничего не происходит. и в коде тоже. не срабатывает 

и при чём здесь пхп, которому всё равно какой браузер или даже не браузер отсылает ему запросы?

определённо проблема в javascript и надо разбираться в соответствующем разделе, какие формируются запросы к серверу, посылаются ли вообще, и что приходит

Автор: Risyaalex 10.1.2011, 20:42
оу, извиняюсь, по привычке сюда написала)

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)