[ 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?
[ captPicard @ 06.09.2012. 11:38 ] @
Ok, našao sam problem ali nisam rješenje :)

Kada se klikne prvi puta na sliku, ovdje

Code:
var vars = 'id='+id+'&value='+obj.value;


obj.value nema vrijednot, zato se mora kliknuti dva puta. Anyone? :)
[ captPicard @ 06.09.2012. 13:43 ] @
Rješeno, trebalo je samo zamijeniti vrijednosti

$tablica .= '<input type="image" onclick="updateToggle(this, ' .$row["sifra"] . ');" src="status-toggle_enabled.jpg" border="0" name="enabled" value="0"/>';

}else{

$tablica .= '<input type="image" onclick="updateToggle(this,' . $row["sifra"] . ');" src="status-toggle_disabled.jpg" border="0" name="enabled" value="1"/>';