1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

Firefox não mostra janela alert java - RESOLVIDO

Discussão em 'Web Development' iniciada por candycane, 3 de Setembro de 2008. (Respostas: 13; Visualizações: 1713)

  1. candycane

    candycane Power Member

    Boas tardes

    Eu tenho um probleminha, o meu firefox(v. 3.0.1) não mostra os alert do java quando passo parametros numa função...

    O IE e o Safari mostram...

    Porque será?

    Fiz um pequeno teste:

    JAVA:
    Código:
    
    <script type="text/javascript">  
              
    function Ordem(tabelas, linha, hidden, id){
            
        var tabela = document.getElementById(hidden).value;  
        var id = document.getElementById(id).value;
        var row = tabelas.rows[linha];
        var ordem = row.cells[0].id;    
        
        alert( tabela + " - " + id + " - " + ordem);
        
        
    }
    </script>
    
    HTML + PHP:
    Código:
    
    <form id="formEventos" name="formEventos" method="post" action="" >
          <?php
              // -------------------------------------------------------
              // --             E V E N T O S                             
            // -------------------------------------------------------
            
            $sql_eventos = "SELECT *
                            FROM eventos
                            ORDER BY ordem ASC";
                    
            $resultado_eventos = mysql_query($sql_eventos, $ligacao);        
            $e = 1;
            echo '<table id="eventos" width="700" border="0" align="center" cellpadding="0" cellspacing="0" class="menu">
                    <tr bgcolor="#f2f2f2" class="menu_topo">
                      <td width="50">Ordem</td>
                          <input type="hidden" name="heventos" id="heventos" value="eventos"/>
                      <td width="270">Titulo</td>
                      <td width="270">Subtitulo</td>
                      <td width="50">&nbsp;</td>
                      <td width="50">&nbsp;</td>
                    </tr>';
            
            while($eventos = mysql_fetch_assoc($resultado_eventos))
            {        
                $id = $eventos['id'];
                $subtitulo = $eventos['subtitulo'];
                $subtitulo = ( $subtitulo == "" ? '&nbsp;' :  $eventos['subtitulo'] );
                $ordem = $eventos['ordem'];
                $ideventos = "eventos" . $e;
                
                echo '<tr>
                        <td id="'. $ordem .'">'. $eventos['ordem'] .'</td>
                            <input type="hidden" name="'. $ideventos .'" id="'. $ideventos .'" value="'. $id .'"/>
                        <td>'. $eventos['titulo'] .'</td>
                        <td>'. $subtitulo .'</td>
                         <td align="center" valign="middle">
                          <img src="../imagens/arrow_up.jpg" width="10" height="13" 
                          onclick="Ordem(eventos, '.$e.', \'heventos\', \''.$ideventos.'\'); 
                                      location.reload();" class="btn_imagem"/>
                        </td>
                        <td align="center" valign="middle">
                          <img src="../imagens/arrow_down.jpg" width="10" height="13" 
                          onclick="Ordem(eventos, '.$e.', \'heventos\', \''.$ideventos.'\'); 
                                      location.reload();" class="btn_imagem" />
                        </td>
                      </tr>';
                $e++;                              
                
              }        
            echo '</table>'; 
          ?>
        </form>
    
    
    é da nova versão do firefox ou tenho alguma incompatibilidade no código? :\
     
    Última edição: 3 de Setembro de 2008
  2. Mavors

    Mavors Power Member

    Não é Java, mas sim javascript.
    De qualquer forma se calhar não tens o javascript activo no Firefox, por isso é que não te mostra.

    Não reparei se o código estava bom, mas um alert é sp um alert, é transversal a todos os browsers. :)
     
  3. candycane

    candycane Power Member

    activo está, porque quando não ponho parâmetros numa função ele mostra :\
     
  4. Kayvlim

    Kayvlim Undefined Moderator
    Staff Member

    Tens ali
    var tabela ...
    e
    var row = tabelas.rows

    Isso não estará mal?
    O Firefox pode não estar a mostrar o alert porque houve um erro aí.

    Para teres (muito!) mais informações sobre isso, aconselho-te a arranjar um addon - o Firebug :)
     
  5. candycane

    candycane Power Member

    eu tou a usar essas variáveis para saber o valor de uma celula...

    com os parametros preenchido fica por ex:

    var tabela = document.getElementById("heventos").value;
    var id = document.getElementById("ideventos1").value;
    var row = tabela_eventos.rows[3];
    var ordem = row.cells[0].id;

    isso esta mal?
     
  6. MPalhas

    MPalhas Power Member

    Kayvlim, a variavel tabelas vem como parametro da função

    quanto ao problema:

    Código:
     echo '<tr>
                        <td id="'. $ordem .'">'. $eventos['ordem'] .'</td>
                            <input type="hidden" name="'. $ideventos .'" id="'. $ideventos .'" value="'. $id .'"/>
                        <td>'. $eventos['titulo'] .'</td>
                        <td>'. $subtitulo .'</td>
                         <td align="center" valign="middle">
                          <img src="../imagens/arrow_up.jpg" width="10" height="13" 
                          onclick="Ordem(eventos, '.$e.', \'heventos\', \''.$ideventos.'\'); 
                                      location.reload();" class="btn_imagem"/>
                        </td>
                        <td align="center" valign="middle">
                          <img src="../imagens/arrow_down.jpg" width="10" height="13" 
                          onclick="Ordem(eventos, '.$e.', \'heventos\', \''.$ideventos.'\'); 
                                      location.reload();" class="btn_imagem" />
                        </td>
                      </tr>';
    aposto que o problema é essa confusão de pelicas, aspas, etc. por exemplo:

    Código:
    onclick="Ordem(eventos, '.$e.', \'heventos\', \''.$ideventos.'\')
    não faltam ai as pelicas no primeiro parametro?

    aliás, também falta as pelicas no segundo, porque aquelas que lá estão são para ser interpretadas pelo PHP, e não vão aparecer no javascript.
    quatro parametro na função, e em todos eles puseste as pelicas de maneira diferente...

    o correcto deve ser como tens no quarto parametro. mas depois isso vai-te ficar uma confusão.
    aconselho-te a leres um bocadinho sobre o Heredoc
     
  7. candycane

    candycane Power Member

    o primeiro e o segundo parâmetro não levam películas, é para:

    var row = tabelas.rows[linhas];
    var ordem = row.cells[0].id;

    que fica por ex:
    var row = tabela_eventos.rows[3];
    var ordem = row.cells[0].id;


    quando ao 3º e 4º, no 3º já leva películas, e como não é uma variável pus logo dentro de películas. Como o evento onclick também tem "" decidi por \' heventos'\.

    No 4º é uma variável php e tem que ter películas, por isso que ficou
    \' '.$ideventos. '\'


    penso que isso não esta errado :\
     
  8. Kayvlim

    Kayvlim Undefined Moderator
    Staff Member

    Olha pois é... nem tinha reparado :wow: :x

    Se o problema for das plicas, o ideal será dar uma vista de olhos ao source da página interpretada e tentar perceber o problema a partir daí. Uma vez mais, aconselho o Firebug ;)
     
  9. candycane

    candycane Power Member

    pelo source esta tudo bem, películas onde tem de haver e tal...

    tou a tentar entender o firebug mas como é a 1º vez ta a ser complicado LOL
     
  10. MPalhas

    MPalhas Power Member

    é simples. executa o javascript (clica no tal sitio que tem o onClick) e deverá aparecer no canto do browser um aviso a dizer que encontrou erros. clicas nele e podes ver logo a mensagem de erro e qual o código que a está a causar

    EDIT: tens primeiro que verificar se o painel do firebug está activo, para ele monitorar o javascript
     
    Última edição: 3 de Setembro de 2008
  11. candycane

    candycane Power Member

    ahhh

    já vi... n me esta a aceitar o nome das tabelas :\ mas sabe qual é o nome delas.. :(
     
  12. candycane

    candycane Power Member

    já resolvi o problema....

    tava a buscar o valor da td mal...

    o certo é assim:
    var row = document.getElementById(tableName).rows[linha];
    var cell = row.cells[0].id;

    graças ao firebug hehe :)
     
  13. Kayvlim

    Kayvlim Undefined Moderator
    Staff Member

    Em erros destes, ou ainda mais "subtis", o Firebug costuma-me dar mesmo uma graaande ajuda, daí não me ter calado com ele neste tópico :P
    Tenho reparado que quando há erros, é frequente o comportamento do Firefox ser não mostrar alert()s, não sei bem porquê.
     
  14. naoliveira

    naoliveira Power Member


    Isto é comum a todos os browsers, pelo menos o IE e o Opera também não mostram o alert quando há um erro no código.
     

Partilhar esta Página