Ir para conteúdo
Fórum Script Brasil
  • 0

O objeto não dá suporte para a propriedade ou método


Renato Penna

Pergunta

Eu estou com esse erro no JavaScript. O código é esse...

<?php
            $jobs = $cliente->exibirJobsCliente();

            for($i=0;$i<sizeof($jobs);$i++)
            {
                if(isset($jobs["job"][$i]))
                {
                    echo"<script language='JavaScript'>
                    function mostrar()
                    {
                        document.formulario.getElementById('upload".$jobs['job'][$i]."').style='visibility:visible';
                    }
                    function esconder()
                    {
                        document.formulario.getElementById('upload".$jobs['job'][$i]."').style='visibility:hidden';
                    }
                    </script>";
                    if($jobs["aviso"][$i]==1)
                        $aviso = "Sim";
                    else
                        $aviso = "N&atilde;o";

                    $tam_desc = strlen($jobs["descricao"][$i]);
                    $max_desc = $tam_desc - 3;
                    $soma_desc = $max_desc - 4;

                    echo"<tr height=50><td align='center' bgcolor='#FFFFFF'><font face='Verdana' size=3 color='#61A8DC'><b>".$jobs["nome"][$i]."</b></font></td></tr>";
                    echo"<tr height=35><td><font face='Verdana' size=2 color='#000000' size=3>Descri&ccedil;&atilde;o:&nbsp;".substr($jobs["descricao"][$i],3,$soma_desc)."</font></td></tr>";
                    echo"<tr height=35><td><font face='Verdana' size=2 color='#000000' size=3>Respons&aacute;vel:&nbsp;".$jobs["nome_responsavel"][$i]."</font></td></tr>";
                    echo"<tr height=35><td><font face='Verdana' size=2 color='#000000' size=3>E-mail:&nbsp;".$jobs["email"][$i]."</font></td></tr>";
                    echo"<tr height=35><td><font face='Verdana' size=2 color='#000000' size=3>Cor:&nbsp;".$jobs["cor"][$i]."</font></td></tr>";
                    echo"<tr height=35><td><font face='Verdana' size=2 color='#000000' size=3>Tipos:&nbsp;".$jobs["tipos"][$i]."</font></td></tr>";
                    echo"<tr height=35><td><font face='Verdana' size=2 color='#000000' size=3>Aviso:&nbsp;".$aviso."</font></td></tr>";
                    echo"<tr height=35>
                    <td align='center'>
                    <img src='imagens/ic_comente.gif'>
                    <font face='Verdana' size=1>
                    <a href='comentario.php?projeto=".$_GET['projeto']."&job=".$jobs["job"][$i]."'>Comente&nbsp;(".$cliente->quantidadeComentarios($jobs["job"][$i]).")</a></font>
                    <input type='checkbox' name='aceite".$jobs["job"][$i]."' ";
                    $aceito = $cliente->verificarAceitacaoJob($jobs["job"][$i]);
                    if($aceito==1)
                        echo"checked";
                    echo" onclick='java script:window.location.replace(\"detalhes_projeto.php?projeto=".$_GET["projeto"]."&job=".$jobs["job"][$i]."&aceito=".$aceito."\");'>
                    <font face='Verdana' size=1 color='#000000'>Aceitar job</font>
                    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
                    <img src='imagens/seta.jpg' border = 0>&nbsp;<font face='Verdana' size=2><a href='#' onclick='mostrar();'>upload</a></font><BR><BR>
                    <div id='upload".$jobs["job"][$i]."'><iframe src='uploads.php?projeto=".$_GET["projeto"]."' width=600 height=300></iframe></div>
                    </td>
                    </td></tr>";
                }
            }
        ?>

Alguém sabe me dizer o porquê desse erro ? Desde já agradeço.

Link para o comentário
Compartilhar em outros sites

10 respostass a esta questão

Posts Recomendados

  • 0

Pelo nome do erro, parece que está usando IE, e isso elimita um debugg decente...

Substitua o:

echo"
<script language='JavaScript'>
function mostrar() {
    document.formulario.getElementById('upload".$jobs['job'][$i]."').style='visibility:visible';
}
function esconder() {
    document.formulario.getElementById('upload".$jobs['job'][$i]."').style='visibility:hidden';
}
</script>
";
por
echo"
<script language='JavaScript'>
function mostrar() {
    alert(document.formulario.getElementById('upload".$jobs['job'][$i]."'));
    document.formulario.getElementById('upload".$jobs['job'][$i]."').style='visibility:visible';
}
function esconder() {
    alert(document.formulario.getElementById('upload".$jobs['job'][$i]."'));
    document.formulario.getElementById('upload".$jobs['job'][$i]."').style='visibility:hidden';
}
</script>
";
Se o alert retornar undefined, é porque o elemento não existe. Se retornar algo como objectalgumacoisa, então a função não deve estar legal. Nesse caso, tente mudar:
.style='visibility:visible';
por
.style.display='block';
e
.style='visibility:hidden';
por
.style.display='none';

Ps: você percebeu que está definindo a função novamente pra CADA 'job' desse seu loop, e só a última que teoricamente vai funcionar?

Editado por fiote
Link para o comentário
Compartilhar em outros sites

  • 0

Fica uma coisa monstruosa cara...

<script language='JavaScript'>
                    function mostrar()
                    {
                        document.formulario.getElementById('upload1').style='visibility:visible';
                    }
                    function esconder()
                    {
                        document.formulario.getElementById('upload1').style='visibility:hidden';
                    }
                    </script><tr height=50><td align='center' bgcolor='#FFFFFF'><font face='Verdana' size=3 color='#61A8DC'><b>Website Objetiva</b></font></td></tr><tr height=35><td><font face='Verdana' size=2 color='#000000' size=3>Descri&ccedil;&atilde;o:&nbsp;Prepare-se...</font></td></tr><tr height=35><td><font face='Verdana' size=2 color='#000000' size=3>Respons&aacute;vel:&nbsp;Jason</font></td></tr><tr height=35><td><font face='Verdana' size=2 color='#000000' size=3>E-mail:&nbsp;jason@sextafeira13.com</font></td></tr><tr height=35><td><font face='Verdana' size=2 color='#000000' size=3>Cor:&nbsp;vermelho</font></td></tr><tr height=35><td><font face='Verdana' size=2 color='#000000' size=3>Tipos:&nbsp;uauuhauhauhuhauha</font></td></tr><tr height=35><td><font face='Verdana' size=2 color='#000000' size=3>Aviso:&nbsp;Sim</font></td></tr><tr height=35>
                    <td align='center'>
                    <img src='imagens/ic_comente.gif'>
                    <font face='Verdana' size=1>
                    <a href='comentario.php?projeto=1&job=1'>Comente&nbsp;(1)</a></font>
                    <input type='checkbox' name='aceite1'  onclick='java script:window.location.replace("detalhes_projeto.php?projeto=1&job=1&aceito=0");'>
                    <font face='Verdana' size=1 color='#000000'>Aceitar job</font>
                    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
                    <img src='imagens/seta.jpg' border = 0>&nbsp;<font face='Verdana' size=2><a href='#' onclick='mostrar();'>upload</a></font><BR><BR>
                    <div id='upload1'><iframe src='uploads.php?projeto=1' width=600 height=300></iframe></div>
                    </td>
                    </td></tr>

=========================================================================================================

<script language='JavaScript'>
                    function mostrar()
                    {
                        document.formulario.getElementById('upload2').style='visibility:visible';
                    }
                    function esconder()
                    {
                        document.formulario.getElementById('upload2').style='visibility:hidden';
                    }
                    </script><tr height=50><td align='center' bgcolor='#FFFFFF'><font face='Verdana' size=3 color='#61A8DC'><b>Website Objetiva</b></font></td></tr><tr height=35><td><font face='Verdana' size=2 color='#000000' size=3>Descri&ccedil;&atilde;o:&nbsp;Voc&ecirc; ainda n&atilde;o viu nada...</font></td></tr><tr height=35><td><font face='Verdana' size=2 color='#000000' size=3>Respons&aacute;vel:&nbsp;Renato</font></td></tr><tr height=35><td><font face='Verdana' size=2 color='#000000' size=3>E-mail:&nbsp;renato@sabado14.com.br</font></td></tr><tr height=35><td><font face='Verdana' size=2 color='#000000' size=3>Cor:&nbsp;vermelho</font></td></tr><tr height=35><td><font face='Verdana' size=2 color='#000000' size=3>Tipos:&nbsp;Você acha que o Jason é terrível ?</font></td></tr><tr height=35><td><font face='Verdana' size=2 color='#000000' size=3>Aviso:&nbsp;Sim</font></td></tr><tr height=35>
                    <td align='center'>
                    <img src='imagens/ic_comente.gif'>
                    <font face='Verdana' size=1>
                    <a href='comentario.php?projeto=1&job=2'>Comente&nbsp;(2)</a></font>
                    <input type='checkbox' name='aceite2'  onclick='java script:window.location.replace("detalhes_projeto.php?projeto=1&job=2&aceito=0");'>
                    <font face='Verdana' size=1 color='#000000'>Aceitar job</font>
                    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
                    <img src='imagens/seta.jpg' border = 0>&nbsp;<font face='Verdana' size=2><a href='#' onclick='mostrar();'>upload</a></font><BR><BR>
                    <div id='upload2'><iframe src='uploads.php?projeto=1' width=600 height=300></iframe></div>
                    </td>
                    </td></tr>

=========================================================================================================

<script language='JavaScript'>
                    function mostrar()
                    {
                        document.formulario.getElementById('upload3').style='visibility:visible';
                    }
                    function esconder()
                    {
                        document.formulario.getElementById('upload3').style='visibility:hidden';
                    }
                    </script><tr height=50><td align='center' bgcolor='#FFFFFF'><font face='Verdana' size=3 color='#61A8DC'><b>Website Objetiva</b></font></td></tr><tr height=35><td><font face='Verdana' size=2 color='#000000' size=3>Descri&ccedil;&atilde;o:&nbsp;guiwer weri weri itfg</font></td></tr><tr height=35><td><font face='Verdana' size=2 color='#000000' size=3>Respons&aacute;vel:&nbsp;ero re uyer uiero yerio</font></td></tr><tr height=35><td><font face='Verdana' size=2 color='#000000' size=3>E-mail:&nbsp;hnjkhiohihteirtgeior</font></td></tr><tr height=35><td><font face='Verdana' size=2 color='#000000' size=3>Cor:&nbsp;azul</font></td></tr><tr height=35><td><font face='Verdana' size=2 color='#000000' size=3>Tipos:&nbsp;rtoherothphrwdgkrherio</font></td></tr><tr height=35><td><font face='Verdana' size=2 color='#000000' size=3>Aviso:&nbsp;Sim</font></td></tr><tr height=35>
                    <td align='center'>
                    <img src='imagens/ic_comente.gif'>
                    <font face='Verdana' size=1>
                    <a href='comentario.php?projeto=1&job=3'>Comente&nbsp;(2)</a></font>
                    <input type='checkbox' name='aceite3'  onclick='java script:window.location.replace("detalhes_projeto.php?projeto=1&job=3&aceito=0");'>
                    <font face='Verdana' size=1 color='#000000'>Aceitar job</font>
                    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
                    <img src='imagens/seta.jpg' border = 0>&nbsp;<font face='Verdana' size=2><a href='#' onclick='mostrar();'>upload</a></font><BR><BR>
                    <div id='upload3'><iframe src='uploads.php?projeto=1' width=600 height=300></iframe></div>
                    </td>
                    </td></tr>

Editado por Renato Penna
Link para o comentário
Compartilhar em outros sites

  • 0

Ficou assim...

echo"<script language='JavaScript'>
                    function mostrar()
                    {
                        document.formulario.getElementById('upload".$jobs['job'][$i]."').style='visibility:block';
                    }
                    function esconder()
                    {
                        document.formulario.getElementById('upload".$jobs['job'][$i]."').style='visibility:none';
                    }
                    </script>";

Mas ainda está dando o erro.

Link para o comentário
Compartilhar em outros sites

  • 0

Continua dando o mesmo erro cara...

echo"<script language='JavaScript'>
                    function mostrar()
                    {
                        document.formulario.getElementById('upload".$jobs['job'][$i]."').style.display='block';
                    }
                    function esconder()
                    {
                        document.formulario.getElementById('upload".$jobs['job'][$i]."').style.display='none';
                    }
                    </script>";

Link para o comentário
Compartilhar em outros sites

  • 0

Você já resolveu o problema com o repetimento de funções?

Se não, vou te ajudar. Não acho que o problema seja esse, mas vai saber...

Lá no seu código PHP, aonde tem a parte:

<a href='#' onclick='mostrar();'>upload</a>
Mude para:
<a href='#' onclick='mostrar(".$jobs["job"][$i].");'>upload</a>
Agora jogue a parte do javascript para FORA do seu loop for. Além disso você precisa dar uma mudada nela, já que agora ele recebe um parâmetro.
<script>
function mostrar(Id_Upload) {
    document.getElementById('upload'+Id_Upload).style.display = 'block';
}
</script>

Fazendo a mesma coisa pra função esconder, lógico.

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...