AJAX - problém s maličkostí
HackForum
AJAX - problém s maličkostí | # |
| Zdravím, mám tu problém.
Mám krátký kod v javascriptu, který pri zadani kraje mi zjisti mesta a vypise. Mam to tak, ze se pri OnChange selectu, kde jsou kraje zavola funkce, ktera se napoji na skript, ktery vypise mesta take do selectu. Funguje mi to v Mozille a Opere, ale ne v IE.
Dale je problem, ze to funguje pouze na prvni pokus. Kdyz zkusim zmenit opet kraj, tak uz je to necinny a mesta to jine nevypise. Nevite co s tim?
mesto.js:
function mesto() {
var http_request = false;
var string = document.getElementById('kraj').value;
var request = "kraj="+string;
if (window.XMLHttpRequest) {
http_request = new XMLHttpRequest();
} else if (window.ActiveXObject) {
try {
http_request = new ActiveXObject("Msxml2.XMLHTTP");
} catch (eror) {
http_request = new ActiveXObject("Microsoft.XMLHTTP");
}
}
http_request.onreadystatechange = function() { zpracuj(http_request); };
http_request.open('POST', 'include/mesta.php', true);
http_request.setRequestHeader('Content-Type ', 'application/x-www-form-urlencoded');
http_request.send(request);
}
function zpracuj(http_request) {
if (http_request.readyState == 4) {
if (http_request.status == 200) {
var mesta = document.getElementById("mesta");
mesta.innerHTML = http_request.responseText;
} else {
alert('Chyba');
}
}
}
var http_request = false;
kousek kodu, kde se funkce vola:
<select name="kraj" class="registrace" id="kraj" onchange="mesto();">
diky za vsechny rady... (odpovědět) | Ivan | 89.102.2.* | 8.8.2008 7:44 |
|
|
|
re: AJAX - problém s maličkostí | # |
| zkus namisto
onChange="mesto();"
pouzit
onChange="mesto((new Date()).getTime());"
i kdyz tu promennou s casem nepouzijes, mela by ti zajistit, ze se ta funkce nevykonna jen po prvni zmene, ale i pri jakekoliv dalsi. (odpovědět) | Emkei | | | | 8.8.2008 9:34 |
|
|
|
re: AJAX - problém s maličkostí | # |
| Děkuji za radu.
Bohužel to pořád nějak nefunguje.
Zkusím něco pohledat po netu...
S tou podporou IE nevíte, jak to je? (odpovědět) | Ivan | 89.102.2.* | 8.8.2008 15:00 |
|
|
|
re: AJAX - problém s maličkostí | # |
| function getHTTP(){
http=0;
if(window.XMLHttpRequest){
http=new XMLHttpRequest();
return http;
}else if(window.ActiveXObject){
http=new ActiveXObject("Microsoft.XMLHTTP");
return http;
}else{
window.alert('Přijď s jiným prohlížečem');
return false;
}
}
Tohle je moje fce co mam na chatu. Od IE6, IE7 az po FF.
Nechce se mi v tom hrabat. Stahni si FF a plugin Firebug, zapni to na localhost on ti ukaze kde je co spatne. (odpovědět) | |
|
|