[ captPicard @ 06.09.2012. 10:52 ] @
Dakle, imam prvo ovo: Code: <?php if($enabled == '1'){ $tablica .= '<input type="image" onclick="updateToggle(this, ' .$row["sifra"] . ');" src="status-toggle_enabled.jpg" border="0" name="enabled" value="1"/>'; }else{ $tablica .= '<input type="image" onclick="updateToggle(this,' . $row["sifra"] . ');" src="status-toggle_disabled.jpg" border="0" name="enabled" value="0"/>'; } znači tu postavim sliku ovisno o vrijednosti varijable $enabled. updateToggle izgleda ovako (updateToggle.php radi UPDATE statement u bazi): Code: <script type='text/javascript'> function getXMLHTTPRequest() { var req = false; try { /* for Firefox */ req = new XMLHttpRequest(); } catch (err) { try { /* for some versions of IE */ req = new ActiveXObject("Msxml2.XMLHTTP"); } catch (err) { try { /* for some other versions of IE */ req = new ActiveXObject("Microsoft.XMLHTTP"); } catch (err) { req = false; } } } return req; } function updateToggle(obj,id){ obj.style.backgroundColor = '#cc0000'; var updReq = getXMLHTTPRequest(); var url = 'updateToggle.php'; var vars = 'id='+id+'&value='+obj.value; updReq.open('POST', url, true); updReq.setRequestHeader('Content-type', 'application/x-www-form-urlencoded'); updReq.onreadystatechange = function() {//Call a function when the state changes. if(updReq.readyState == 4 && updReq.status == 200) { if(updReq.responseText == 'N'){ obj.style.backgroundColor = '#cc8800'; }else{ if(obj.value == '1'){ obj.value = '0'; }else{ obj.value = '1'; } obj.src = updReq.responseText; obj.style.backgroundColor = '#0000cc'; } } } updReq.send(vars); } </script> Problem je u tome da ne reagira na prvi klik, tj. moram kliknuti dva puta na sliku da bi se izvršila promjena, za svaki slijedeći klik radi u redu, znači samo prvi puta moram kliknuti dva puta. Neki hint zašto se to događa? |