проблема с Ajax в Firefox при получениизначение - PullRequest
0 голосов
/ 30 сентября 2010

дорогой всем, Я получаю эту проблему с Firefox, а не с IE.

В первом комбо я получаю роли:

<tr>
<td>Select Role:</td>
<td>
<select name="usrrole" onChange="showuser(this.value)">
    <option value=''>Please Select</option>
<?php
  $rle = "select * from role_table";
  $dorle = mysql_query($rle);
  while($data = mysql_fetch_array($dorle)){
  echo ("<option value=$data[roleid]>$data[rolename]</option>");
}
?>
</select>
</td>
</tr>

<tr>
  <td> Select User </td>
  <td id="showus"> </td>  <!-- this is the div collected from ajax -->
</tr>
<tr>
  <td colspan=2> <input type='submit' name='submit' /> </td>
</tr>

((((AJAX.JS))))

function GetXmlHttpObject()
{
 var xmlHttp=null;
 try
  {
      xmlHttp=new XMLHttpRequest();
  }
 catch (e)
  {
      try
       {
           xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
       }
      catch (e)
       {
           xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
       }
   }
 return xmlHttp;
 }

function showusrinfo()
{
if (xmlhttp.readyState==4 || xmlhttp.readyState=="complete")
 {
  document.getElementById('showus').innerHTML=xmlhttp.responseText;
 }
}

function showuser(str)
{
  xmlhttp=GetXmlHttpObject();
  var url="../get.php";
  url=url+"?showus="+str;    
  xmlhttp.onreadystatechange=showusrinfo; 
  xmlhttp.open("GET",url,true);
  xmlhttp.send(null); 
}

((((GET.PHP))))

if(isset($_GET["showus"])){
$q  = $_GET["showus"];
$sql = "select uid,username from usertable where roleid='".$q."'";
$qry = mysql_query($sql);
$num = mysql_num_rows($qry);
if($num){
  $my = "<select name='touser'>";
  $my .= "<option selected value=''>Please Select</option>";
   while($result = mysql_fetch_array($qry)){
      $my .= "<option value='".$result['uid']."'>$result[username]</option>";
}
echo $my;
}
 else
{
 $notmy = "No Record";
}
echo $notmy;
}

Теперь проблема возникает, когда я отправляю:

если я печатаю переменные после отправки,

в ИНТЕРНЕТ-ЭКСПЛОРЕРЕ:

Array
(
  [usrrole] => 1
  [touser] => 3
  [submit] => submit
)

и в FIREFOX:

Array
(
 [usrrole] => 1
 [submit] => submit
)

Как видите, переменная, сгенерированная в AJAX, отображается только в IE, а не в FF, поэтому при запуске кода в FF возникает ошибка.

Я новичок в программировании и застрял в нем, пожалуйста, помогите.

веселит.

Ответы [ 2 ]

0 голосов
/ 30 сентября 2010

да, все верно, мне нужен вывод в терминах roleID , а не name

0 голосов
/ 30 сентября 2010

Вы должны прочитать значение выбранного параметра, а не выбрать значение

onChange="showuser(this.options[this.selectedIndex])"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...