Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Tsubaru

Imagem como botão

Recommended Posts

Criei um formulário com imagem como botão, e ele funciona perfeitamente no Firefox,mas não no IE.

 

Preciso de ajuda aqui.

 

O código, só pra ilustrar.

<form action="pagina.php" method="post">
			<input name="item" type="hidden" id="item" value="5"> 
			<input name="hab" id="hab" type="image" src="img/bt_edit.png" value="A">
			<input name="hab" id="hab" type="image" src="img/bt_del.png" value="E">
			</form>

No firefox, ao colocar o mouse sobre a imagem, não aparece nada no status do browser, e ao clicar, ele faz o que tem que fazer.

 

No IE, ao colocar o mouse sobre a imagem, aparece pagina.php no status do browser, e ao clicar, ele pula pra essa página sem levar os dados do botão clicado.

Sei disso, pois existe validação em pagina.php, para identificar que valor foi indicado pelo botão.

 

Preciso que funcione no IE, como no Firefox, pois exibir o link é um problema de segurança. Se fosse pra exibir o link, colocaria texto mesmo.

 

Por que não funciona no IE?

Compartilhar este post


Link para o post
Compartilhar em outros sites

é por que o type=image equivale ao type=submit ao clicar em uma você submet o formulario.

acredito que você tenha confundido a funcionalidade deles ;)

oq exatamente você queria fazer?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Isso eu já sei, acontece que na hora de submeter o form, no ie os valores não são carregados para a próxima página, ele simplesmente pula pra lá, como se fosse um link comum.

 

No firefox, ele funciona, levando o valor A ou E, de acordo com a imagem que eu clique.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bem você não explicou esta parte NÉ????

você notou que você está usando names repetidos:

<input name="hab" id="hab" type="image" src="img/bt_edit.png" value="A">
			<input name="hab" id="hab" type="image" src="img/bt_del.png" value="E">

seu formulario é POST e não GET

se for PHP para pegar os valores POST é assim:

<?php
echo $_POST["hab"];
?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sim, mas cada botão/imagem, passa um valor diferente, independe se tem o mesmo nome, pois na página de destino, eu só verifico se o botão/imagem foi clicado, e depois verifico qual valor dele.

 

Tá tudo certo, tanto no form, quanto no php, o problema é que o ie não transporta os valores do form, ele só linka, como se fosse um link comum, não um submit de form.

Trocando type image por submit, funcionou perfeito, mas fica horrível.

 

Se funciona no firefox, tem que funcionar no ie também.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bem vou testar aqui e lhe digo como ficou ;)

 

[editado] Realmente ocorre o que você disse, não sei o motivo (pesquiso mais em breve), porem tenho uma solução

 

crie dois submits (Ps.: IDs não podem se repetir):

<?php
print_r($_POST);
?>
<form action="php.php" method="post">
<input name="item" type="hidden" id="item" value="5">
<input name="hab" id="habA" type="submit" value="A">
<input name="hab" id="habB" type="submit" value="E">
</form>

e aplique o seguinte CSS:

input#habA{
border:0;
width:[largura da imagem];
height:[altura da imagem];
background: #fff url("img/bt_edit.png");
}
input#habB{
border:0;
width:[largura da imagem];
height:[altura da imagem];
background: #fff url("img/bt_del.png");
}

veja o efeito ;)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Teste aqui:

http://forumsnet.freelinuxhost.com/form/teste.php

 

Funciona perfeitamente no Firefox,mas não no IE.

 

O código, só pra ilustrar.

<form action="teste.php" method="post">
<input name="cod" type="hidden" id="cod" value="5"> 
<input name="txt" type="hidden" id="txt" value="funciona"> 
<input name="bt" id="bt" type="image" src="img/bt_edit.png" value="botão azul">
<input name="bt" id="bt" type="image" src="img/bt_del.png" value="botão vermelho">
</form>

No firefox, o código acima funciona perfeitamente, levando "bt" e o valor "botão azul" ou "botão vermelho", de acordo com o botão/imagem clicado, e também levando "cod" e o valor 5.

 

Já no IE, o código acima se comporta como o código abaixo.

<a href=teste.php>botão/imagem</a>
:thumbsdown:

 

Ou seja, somente direciona para o action, sem levar valor algum.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Até que funcionou, mas aí ele imprime o value. :P

Mas de qualquer forma já valeu, porque eu posso deixar o value em branco e usar o própiro botão como identificador, porque agora ele carrega outros valores em hidden.

 

Valeu, silverfox. :)

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.