Autor Zpráva
Aaron135
Profil
Ahojte mám problém s ajaxem. V Chromu normálně funguje ale jak dojde na řadu IE a MF tak mi ten skript nechce vůbec vyvolávat ajax. Čím to je?
Přikládám kód:
<script type="text/javascript">
function zpracuj_provest(ajax){
var txt;
if (ajax.readyState == 4){
if(ajax.status == 200 || ajax.status==0){
txt=ajax.responseText;
document.getElementById("form_div").innerHTML = "<center>"+txt+"</center>";
}
else alert("Chyba: "+ ajax.status +":"+ ajax.statusText);
}
}
function provest(pozadavek,x1,x2,y1,y2,id){
if(pozadavek == "new_form"){url = "info2.php?new=form&zac_x="+x1+"&kon_x="+x2+"&zac_y="+y1+"&kon_y="+y2;}
if(pozadavek == "ed_form"){ url = "info2.php?ed=form&id="+id;}
if(pozadavek == "del"){ url = "info2.php?del="+id;}
document.getElementById("selected").style.display="none";
document.getElementById("info").style.display="none";
var ajax = (window.XMLHttpRequest ? new XMLHttpRequest() : (window.ActiveXObject ? new ActiveXObject("Microsoft.XMLHTTP") : false));
if(!ajax){
alert("Tak tady to nepobìží!");
return true;
}
ajax.onreadystatechange= function () {zpracuj_provest(ajax); } ;
ajax.open("GET", url, true);
ajax.send(null);

return false
}


function kon_ramecek(x,y){
var c_x;
var c_y;

if(x > 0 && x < 0 && y > 0 && y < 0) {}
else if(x > 150 && x < 250 && y > 60 && y < 110) {z_id=1;kontrol_ram='true';c_x = 250 - 150-10;c_y = 110 - 60-10;xz='150';yz='60';}else if(x > 180 && x < 330 && y > 280 && y < 550) {z_id=2;kontrol_ram='true';c_x = 330 - 180-10;c_y = 550 - 280-10;xz='180';yz='280';}else {kontrol_ram="false";}

if(kontrol_ram == "true" || document.getElementById('info').style.display=='block'){
ramecek = document.getElementById('selected');
ramecek.style.display='block';
ramecek.style.top=yz;
ramecek.style.left=xz;
ramecek.style.width=c_x+5+"px";
ramecek.style.minHeight=c_y+5+"px";
} else {
ramecek = document.getElementById('selected');
ramecek.style.display='none';
 }
}
function kontrola(){
var kontrola;
y=event.clientY-10+document.body.scrollTop; 
x=event.clientX+15+document.body.scrollLeft;
kon_ramecek(x,y);
if(x > 0 && x < 0 && y > 0 && y < 0) {}
else if(x > 150 && x < 250 && y > 60 && y < 110) {document.getElementById('obrazek').style.cursor='pointer';kontrol='true';}else if(x > 180 && x < 330 && y > 280 && y < 550) {document.getElementById('obrazek').style.cursor='pointer';kontrol='true';}else {document.getElementById('obrazek').style.cursor='auto';kontrol="false";}
}
function zpracuj(ajax){
var txt;
if (ajax.readyState == 4){
if(ajax.status == 200 || ajax.status==0){
txt=ajax.responseText;
document.getElementById("text_info_1").innerHTML = txt;
}
else alert("Chyba: "+ ajax.status +":"+ ajax.statusText);
}
}
function xy(y,x,id){
kontrola(x,y);
if(id=='')id=z_id;
if(kontrol=="true"){document.getElementById('info').style.display='block';}
if(kontrol=="false"){document.getElementById('info').style.display='none';}
info = document.getElementById('info'); 
if(y == '')y=event.clientY-10+document.body.scrollTop; else document.getElementById('info').style.display='block';
if(x == '')x=event.clientX+15+document.body.scrollLeft; else document.getElementById('info').style.display='block';
info.style.top=y+"px";
info.style.left=x+"px";
document.getElementById('x').innerHTML=x;
document.getElementById('y').innerHTML=y;
document.getElementById('info').style.position="absolute";
r = document.getElementById('selected');
url = "info2.php?x="+x+"&y="+y+"&xid="+id;
var ajax = (window.XMLHttpRequest ? new XMLHttpRequest() : (window.ActiveXObject ? new ActiveXObject("Microsoft.XMLHTTP") : false));
if(!ajax){
alert("Tak tady to nepobìží!");
return true;
}
ajax.onreadystatechange= function () {zpracuj(ajax); } ;
ajax.open("GET", url, true);
ajax.send(null);

return false
}


function nastav_parametr(parametr,px){
vyber = document.getElementById('vyber');
vyber.style.display='block';
if(parametr == "width"){
vyber.style.width=px;
if(px == '') px = document.getElementById('width_px').value;
if(px > 1200) {
document.getElementById('width_px').value="1200";
px = "1200";
}
if(px < 0) {
px = "0";
document.getElementById('width_px').value="0";
}
document.getElementById('width_val').value=px;
 }

if(parametr == "height"){
if(px == '') px = document.getElementById('height_px').value;
vyber.style.minHeight=px;
if(px > 1200) {
document.getElementById('height_px').value="1200";
px = "1200";
}
if(px < 0) {
px = "0";
document.getElementById('height_px').value="0";
}
document.getElementById('height_val').value=px;
 }

if(parametr == "left"){
if(px == '') px = document.getElementById('left_px').value;
vyber.style.left=px;
if(px > 1200) {
document.getElementById('left_px').value="1200";
px = "1200";
}
if(px < 0) {
px = "0";
document.getElementById('left_px').value="0";
}
document.getElementById('left_val').value=px;
 }

if(parametr == "right"){
if(px == '') px = document.getElementById('right_px').value;
vyber.style.right=px;
if(px > 1200) {
document.getElementById('right_px').value="1200";
px = "1200";
}
if(px < 0) {
px = "0";
document.getElementById('right_px').value="0";
}
document.getElementById('right_val').value=px;
 }
}
</script>
_es
Profil
Máš to rozbité.
Aaron135
Profil
V IE mi to píše, že mám chybu (zde) na řádku 52 (event.clientY; - zjištování pozice Y myše) v Chromu to normálně funguje ale jinak ne.

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0