ajax dropdown problema in ie

Discutii legate de AJAX, jQuery, MooTools, Prototype, Dojo, Yahoo! UI Library,script.aculo.us, ExtJS,AngularJS, Backbone.js, Ember.js, KnockoutJS

Moderator: Moderatori

rolly
PHPRomania Supporter
Mesaje: 25
Membru din: Mie Sep 05, 2007 12:36 am
Contact:

ajax dropdown problema in ie

Mesajde rolly » Lun Apr 13, 2009 8:29 pm

Salut. De cateva ore imi bat capu cu o bucata de cod dar nu-mi dau seama ce nu merge.
Aici ii partea de html

Cod: Selectaţi tot

<label>Category:</label>
<select id="category-main" onchange="updateSkills();">
          <option value="">- Select Category -</option>
          <option value='Baby Sitting'>Baby Sitting</option>
          <option value='House'>House</option>
          <option value='Handyman'>Handyman</option>
          <option value='Landscape'>Landscape</option>
</select>
<label>Skill:</label>
<select name="skills" id="category-skill">
          <option value="">- Select Category First -</option>
</select>

Partea de Javascript

Cod: Selectaţi tot

var xmlHttp
function updateSkills()
{
xmlHttp=GetXmlHttpObject()
if (xmlHttp==null)
 {
 alert ("Browser does not support HTTP Request")
 return
 }
var url=baseurl+"ajax-scripts/update-skills.php"
url=url+"?category="+document.getElementById("category-main")[document.getElementById('category-main').selectedIndex].value
xmlHttp.onreadystatechange=stateUpdateSkills
xmlHttp.open("GET",url,true)
xmlHttp.send(null)
}

function stateUpdateSkills ()
{
if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete")
   {
       document.getElementById("category-skill").innerHTML=xmlHttp.responseText
   }
}
function GetXmlHttpObject()
{
var xmlHttp=null;
try
 {
 // Firefox, Opera 8.0+, Safari
 xmlHttp=new XMLHttpRequest();
 }
catch (e)
 {
 //Internet Explorer
 try
  {
  xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
  }
 catch (e)
  {
  xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
  }
 }
return xmlHttp;
}

Si php-ul

Cod: Selectaţi tot

include ("../assets/main.php");
echo "<option value=''>- Select Skill -</option>";
$query = mysql_query("SELECT * FROM categories WHERE category='".$_GET['category']."'") or die(mysql_error());
while($row=mysql_fetch_array($query)){
   echo "<option value='".$row['id']."'>".$row['subcategory']."</option>";
}

In Firefox, Opera, Chrome si safari functioneaza, dar in ie nu vrea nici cum, al doilea select ii gol. Va rog ajutati-ma pana nu ma dau cu capul de pereti :) Multumesc si scuze ca am umplut pagina de cod



rolly
PHPRomania Supporter
Mesaje: 25
Membru din: Mie Sep 05, 2007 12:36 am
Contact:

Mesajde rolly » Mie Apr 15, 2009 4:03 pm

Am rezolvat, problema era un bug in IE. Am pus tot selectu intr-un div si am updatat tot divu, in loc sa updatez doar optiunile din select.


Înapoi la “Librarii Javascript”

Cine este conectat

Utilizatori ce ce navighează pe acest forum: Niciun utilizator înregistrat și 7 vizitatori