не работает "onclick" на Firefox, Chrome и Safari - PullRequest
0 голосов
/ 15 февраля 2012

Я работаю над программой, использующей python, HTML и javascript.У меня есть два изображения, которые работают как кнопки, меняющие цвета onmouseover и onmouseout.Он также имеет функцию, которая работает, когда происходит событие onclick.В Internet Explorer все работает очень хорошо (что не так), но событие onclick не работает в safari, chrome или firefox.Консоль ошибок не помечает ни ошибки, ни error.log на консоли.

Видите ли вы что-то не так с кодом?Существуют ли такие функции, как onmouseover или onmouseout или onclick, которые не работают в этих браузерах?

      <td><img src="/RH/images/tacha.png" onclick="eliminarRenglon('eliminar','%s');testing()" 
      onmouseover="this.src='/RH/images/tacha_2.png'" onmouseout="this.src='/RH/images/tacha.png'" /></td>''' % variable

     function testing(){
        alert("JUST TESTING");
     }

даже функция «тестирования» не работает.Функция «delearRenglon» очень хорошо работает в IE, а также функция «тестирования».Ниже приведен код «delearRenglon», но поскольку он очень хорошо работает в IE, я не знаю, в чем проблема с ним.

function eliminarRenglon(tipo,id) { 
   var nivel = "No"
   var divPrincipal = document.getElementById("divPrincipal");
   var idReq = document.getElementById("req" + id).value;
   var claveProyecto = document.getElementById("claveproyecto").value;
   var url = 'actualizarRenglonAjax.py?nivel='+nivel+'&tipo='+tipo+'&idReq='+idReq+'&claveProyecto='+claveProyecto;
   if(document.getElementById("selectReq" + id).value == ""){           
       xmlhttp = GetXmlHttpObject(nivel);
       if(!xmlhttp) {
             alert("Browser does not support HTTP Request");
             return;
       }
       var xml = xmlhttp;
       xmlhttp.onreadystatechange = function() {
           if(xml.readyState == 1) {
               loading.innerHTML = "<img src='/RH/images/loading_4.gif' />"
           }
           if(xml.readyState == 4) {
            divPrincipal.innerHTML = xml.responseText;
            actualizarTodo();
           }
       };
       xmlhttp.open("GET",url,true);
       xmlhttp.send(null);
       return true;
   }
   else
       alert("No se puede eliminar");
}

Я был бы очень признателен за помощь. Большое спасибо!

1 Ответ

2 голосов
/ 15 февраля 2012

Я бы предложил добавить значение селектора к изображению, а затем привязать события к ненавязчивому способу (в дальнейшем обслуживание станет немного проще).

Сделай так:

<img src="/RH/images/tacha.png" class="myImage" />

затем, после загрузки DOM, прикрепите ваши события (jquery здесь для простоты)

$('img.myImage').bind('click', function() { 
  alert('testing!'); 
  eliminarRenglon('eliminar','%s'); 
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...