[ vojabgd @ 25.10.2009. 14:44 ] @
Pozdrav. Potrebna mi je pomoć oko jedne forme, neće da mi učita promenljivu. Treba da vrednost ad_location_city i ad_location_country stavim u bazu. Ukoliko korisnik ne promeni vrednosti ova 2 dropdowna, sve je u redu i obe vrednosti su u bazi. Međutim, ako se promeni država pokreće se ajax funkcija load_cities_ad koja izbaci odgovarajuće gradove, ali kad pošaljem formu $_POST['ad_location_city'] mi je prazna, dok je $_POST['ad_location_country'] uvek u redu. Evo koda: create.php Code: <div id="ad_location_city_div"> <select name="ad_location_city" id="ad_location_city" class="create_ad_input"> <?php $uq=mysql_query("SELECT cw.*,u.country FROM countries_world AS cw,users AS u WHERE cw.id=u.country AND u.id='$userid'"); $uf=mysql_fetch_array($uq); $country_id=$uf['id']; $q=mysql_query("SELECT * FROM cities_world WHERE pid='$country_id'"); if(mysql_num_rows($q)>0) { while($f=mysql_fetch_array($q)) { echo '<option value="'.$f['id'].'">'.$f['name'].'</option>'; } } else { echo '<option value="">City</option>'; } ?> </select> </div> <select name="ad_location_country" id="ad_location_country" class="create_ad_input" [red]onchange="load_cities_ad(this.value,'ads')"[/red]> <?php $cq=mysql_query("SELECT * FROM countries_world ORDER BY name ASC"); while($cf=mysql_fetch_array($cq)) { $uq=mysql_query("SELECT country FROM users WHERE id='$userid'"); $uf=mysql_fetch_array($uq); if($ad_country!='') { if($cf['id']==$ad_country) { $selected=' selected="selected"'; } else { $selected=''; } } else { if($cf['id']==$uf['country']) { $selected=' selected="selected"'; } else { $selected=''; } } echo '<option value="'.$cf['id'].'"'.$selected.'>'.$cf['name'].'</option>'; } ?> </select> ajax funkcija: Code: function load_cities_ad(country) { xmlhttp=GetXmlHttpObject(); if (xmlhttp==null) { alert ("Browser does not support HTTP Request"); return; } var url="http://www.wwiyo.com/ajax/load_cities_ad.php"; var checkpars="country="+country; xmlhttp.open("POST",url,true); xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); xmlhttp.setRequestHeader("Content-length", checkpars.length); xmlhttp.setRequestHeader("Connection", "close"); xmlhttp.onreadystatechange=function() { if (xmlhttp.readyState==4) { document.getElementById('ad_location_city_div').innerHTML=xmlhttp.responseText; } } xmlhttp.send(checkpars); } ajax fajl: Code: $country=$_POST['country']; $q=mysql_query("SELECT * FROM cities WHERE pid='$country' ORDER BY name ASC"); echo '<select name="ad_location_city" id="ad_location_city">'; if(mysql_num_rows($q)>0) { while($f=mysql_fetch_array($q)) { echo '<option value="'.$f['id'].'">'.$f['name'].'</option>'; } } else { echo '<option value="">City</option>'; } echo '</select>'; Izvinjavam se ako sam malo konfuzno objasnio u čemu je problem. Hvala unapred!:) |