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

(Resolvido) Link em um botao


Anderson Ferreira

Pergunta

Estou fazendo uma página em PHP para meu projeto do curso (Urna Online)...

Então, em um momento, quando o eleitor escolher qual candidato votar, vair aparecer uma página mais ou menos assim:

Seu candidato escolhido foi: XXXXXXXXXXXXXXXXX

Tem certeza que deseja escolher este candidato?

NÃO | SIM

O NÃO e o SIM, são botões.

Se o eleitor clicar no botão SIM (que é um submit), ele ativaria o form (<form action='voto_ok'), então atribuiria 1 voto ao candidato.

Se o eleitor clicar no botão NÃO (que é um button), ele deveria ser redirecionado para a página inicial.

---

Então, no botão NÃO, eu utilizei o seguinte esquema:

<script>
    function link()
        {
        open('../index.html')
        }
</script>

[...]

<input type='button' value='NÃO' onClick='link()'>

[...]
-------- Mas, ao clicar em NÃO, abre-se a página inicial, em uma nova aba, e não na mesma aba. Então gostaria de uma maneira de fazer com que fosse aberto na mesma aba! Já tentei procurar na internet, e encontrei o seguinte código:
<input type="submit" value="não" onclick="location. href= '../index.html ">
Mas, estou fazendo isso em PHP, dentro de um 'echo', por este motivo, eu não poderia utilizar aspas suplas ("), pois fecharia o 'echo'. Então tentei da seguinte maneira:
<input type='submit' value='não' onclick='location. href= '../index.html' '>

Mas, não esta abrindo outra página, não faz nada! Acredito eu, que é por causa do final, que está com duas aspas simples ('), e acho que não pode...

-------------

Alguém teria outra maneira de fazer um lin em um botão para PHP?

Obrigado,

Anderosn Ferreira

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

9 respostass a esta questão

Posts Recomendados

  • 0

Use /" ao invés de "

^^

Opção 1)

echo "<input type='submit' value='não' onclick=\" location.href= '../index.html'; \">"
Opção 2)
<script>
function vaiIndex() {
location.href = '../index.html';
}
</script>

echo "<input type='submit' value='não' onclick='vaiIndex()'>";

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

  • 0

Existem duas maneiras de se resolver isso:

A primeira é escapando as aspas, dessa forma:

<input type=\"submit\" value=\"não\" onclick=\"location. href= '../index.html'\">
A segunda é colocando o location.href no lugar de open, assim:
<script>
    function link()
        {
        location.href('../index.html')
        }
</script>

[...]

<input type='button' value='NÃO' onClick='link()'>

[...]

Apesar de estar utilizando o PHP, Sua dúvida é sobre JavaScript.

Por isso moverei seu tópico pra área correta.

(Fiote, não vi que já tinha postado)

Link para o comentário
Compartilhar em outros sites

  • 0

Tentei na 1° forma do Fiote, e funcionou perfeitamente...

Só um pequeno ajuste que ele esqueceu: ele colocou um type='submit', sendo que o correto (pelo menos no meu caso), o que funcionou perfeitamente foi com um type='button'.

Mas estou com outr dúvida agora :S

Ao invés de voltar pra página inicial, gostaria que ele voltasse pra página anterior. Então que link eu poderia utilizar para isso?!

Sim... Eu já poderia jogar o link direto da página dentro do button, que ficaria mais ou meno assim:

<input type='button' value='N&Atilde;O' onclick=\" location.href= 'escolha_candidato.php'; \">
Mas, se eu fizer isso, a página anterios está todos os nomes dos candidatos, que foi pego em relação a um $_POST da página anterior... É meio complicado de explicar, mas, fazendo desta forma que coloquei, com o link direto, os nomes não aparecem... Por isso, gostaria de um link que voltasse pra página anterior, que funconace no Firefox e Internet Explorer... Obrigado, Anderson Ferreira Editado Encontrei na internet uma forma... Da seguinte maneira:
<input type='button' value='não' onclick=\" history.go(-1) \">

Mas, quando clica no botao não, pra voltar pra página anterior, o firefox exibe a seguinte mensagem:

Para exibir esta página, o Firefox precisa enviar informações que repetirão qualquer ação efetuada anteriormente (como uma pesquisa ou confirmação de compra).

CANCELAR | REENVIAR

Por isso, ficaria meio desagradavel... alguém teria outra forma?! :D

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

  • 0

A página anterior recebe parâmetros de uma form, correto? É por isso que ele dá esse aviso. Ele está avisando que os dados serão passados novamente.

Pelo que eu me lembre, se a tal form usar method GET, não vai dar o aviso... mas só testando mesmo.

Link para o comentário
Compartilhar em outros sites

  • 0

RESOLVIDO \o/

Mas vou aproveitar o POST, e perguntar:

Como faço para apagar dados de um SESSION ?

porque tipo qria fazer assim:

Abro uma $_SESSION["cod_cand"]; onde fica armazendado o código do candidato... Ai, quando eu clicar no nome do candidato (que vai ser um link), vai abrir uma página poupup, com todos os dados do candidato, e pra aparecer esses dados, eu precisaria do código do candidato, que vem da SESSION... Por isso preciso dela.

Então, depois que abrir a janela poupup, gostaria de saber, como eu faria pra fechar essa SESSION, pois não irei mais precisar dela...!

Obrigado,

Anderson Ferreira

Eu achei aq mesmo no fórum o seguinte script: session_destroy();

Mas ele apaga todas as SESSIONS, e eu gostaria que ele apagasse 1 única SESSION, a $_SESSION["cod_cand"];

Obrigado,

Anderson Ferreira

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...