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

Como testar se o Javascript faz o que a gente quer?


Frank K Hosaka

Pergunta

O código que segue é uma pequena parte que tirei do meu projeto orcamento.php

<script> function excluir(id) {excluir.value=id;omega.submit();} </script>
<?php
$id=20;
echo "<a href='#' onclick='excluir($id)'>$id</a>";
echo "<form id='omega' method='post'><input type='hidden' name='excluir' id='excluir'></form>";
if (isset($_POST['excluir'])) {echo "<script>alert('rotina excluir');</script>";}
?>

Eu testei e ele funciona, ele só não funciona dentro do meu projeto.

Com a ajuda da ferramenta inspeção do navegador descobri que o <form> estava dentro de uma tabela, ou seja, eu esqueci de fechar a tabela </table> bem acima do código, e certamente o Javascript não tem a menor chance de trabalhar numa página bagunçada como eu fiz.

Depois de consertar o erro, depois de verificar que o <form> estava intato e exatamente onde eu esperava na janela de inspeção do navegador, mesmo assim, o programa simplesmente não andava.

O programa é bem simples. O PHP não é capaz de enxergar a opção que o usuário escolheu, não é o caso do Javascript. Para o Javascript mandar para o PHP o que foi escolhido eu criei um <form method='post'>, e ele mesmo submete o formulário. Por que funciona num código e não funciona no outro código, isso é coisa que eu não entendo.

Eu não tive outra escolha, senão apelar. Eu comecei com o id do input que estava dentro do form, mudei para 'retirar' e certamente tive que mudar o nome do elemento dentro do código Javascript. E, por mágica, o meu código orcamento.php começou a andar.

A conclusão que eu cheguei é que o Javascript do orcamento.php não gosta que você dê o mesmo nome da função para um elemento (id) dentro do HTML, já o Javascript do outro subcódigo que eu montei para procurar um erro meu, esse pouco importa com o nome dos bois. Pode um negócio desses?

Link para o comentário
Compartilhar em outros sites

0 respostass a esta questão

Posts Recomendados

Até agora não há respostas para essa pergunta

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,1k
    • Posts
      651,9k
×
×
  • Criar Novo...