Jump to content
pemoamsi

Problemas com leituras de dados no segundo submit

Recommended Posts

pemoamsi

A minha "aplicação" devia enviar as coordenadas X e Y para uma div (coisa que faz) e enviar também a mensagem de que foi premida a tecla do rato ou se foi duplo clique.

O problema aqui é que quando tento enviar a mensagem por javascript, a mensagem é "apagada" logo no reload da pagina, e eu queria que ele me permitisse guardar esse valor numa variavel do php para poder imprimir no reload...


<?Php	  
$foo_x=$_POST['foo_x'];
$foo_y=$_POST['foo_y'];


echo '  <form action="" method=post onmousedown="rightbutton(event)";>
	<input type="image"  
		src="image.jpeg"  
		name="foo"				
		ondblclick="dclickfunc()"
		onclick="clickfunc()"
		style="cursor:crosshair"	
		width="' . $hor  . '"
		height="' . $ver . '"
		value="""/>
	<input type="hidden" name="resize" value="'. $resize .'">	
	</form>	  ';	  



?>	
<p id="click"> </p>
</body>
</html>

<script>
function clickfunc()
{
document.getElementById("click").innerHTML="Last action: Click";	
}
function dclickfunc()
{
document.getElementById("click").innerHTML="Last action: Double Click";
}
</script>

Edited by pemoamsi

Share this post


Link to post
Share on other sites
HappyHippyHippo

não achas que falta explicar muito coisa não só no código como explicar claramente o que pretendes ?

entre as várias coisas que não se percebe, acho que a principal será :

document.getElementById("click").innerHTML="Last action: Click";
// de que buraco negro retiraste o elemento com o id "click" ?? é que não o vejo no código que apresentaste ...

no entanto, vou dar asas à minha imaginação e tentar responder com uma solução ao pouco que percebi da questão :

<?Php      
$foo_x=$_POST['foo_x'];
$foo_y=$_POST['foo_y'];
$message=$_POST['message'];

echo '  <form action="" method=post onmousedown="rightbutton(event)";>
           <input type="image"  
                   src="image.jpeg"  
                   name="foo"                      
                   ondblclick="dclickfunc()"
                   onclick="clickfunc()"
                   style="cursor:crosshair"     
                   width="' . $hor  . '"
                   height="' . $ver . '"
                   value=""/>
           <input type="hidden" name="resize" value="'. $resize .'">     
           <input type="hidden" id="message" name="message" value="'. $message .'">     
           </form>       ';       



?>     
<p id="demo"> </p>
</body>
</html>

<script>
function clickfunc()
{
   document.getElementById("click").innerHTML="Last action: Click";     
   document.getElementById("message").value="Last action: Click";     
}
function dclickfunc()
{
   document.getElementById("click").innerHTML="Last action: Double Click";
   document.getElementById("message").value="Last action: Double Click";
}
</script>


IRC : sim, é algo que ainda existe >> #p@p

Share this post


Link to post
Share on other sites
pemoamsi

Obrigado, felizmente percebeste perfeitamente o que queria, já alterei a "<p id="demo"> </p>" era id = click que é o sitio onde estava a imprimir a mensagem...

O click funciona perfeitamente, mas o duplo clique não ... sugeres alguma forma de o contornar?

Share this post


Link to post
Share on other sites
HappyHippyHippo

se "sintomas" tem a aplicação ?

estás a dizer que o duplo clique não guarda a mensagem no elemento com o id "click" ?

a mensagem não é apresentada após o submit ?


IRC : sim, é algo que ainda existe >> #p@p

Share this post


Link to post
Share on other sites
pemoamsi

se "sintomas" tem a aplicação ?

estás a dizer que o duplo clique não guarda a mensagem no elemento com o id "click" ?

a mensagem não é apresentada após o submit ?

O problema é que apresenta novamente a mensagem click e não duplo clique

Share this post


Link to post
Share on other sites
brunoais

Como é que estás a tentar captar o dblclick?


"[Os jovens da actual geração]não lêem porque não envolve um telecomando que dê para mirar e atirar, não falam porque a trapalhice é rainha e o calão é rei" autor: thoga31

Life is a genetically transmitted disease, induced by sex, with death rate of 100%.

Share this post


Link to post
Share on other sites
pemoamsi

Como é que estás a tentar captar o dblclick?

Estou a user o " ondblclick="dclickfunc()" " e o " onclick="clickfunc()" " para o click normal

fiz o seguinte:

acrescentei outro input

    <input type="hidden" id="message" name="message" value="'. $message .'">    
    <input type="hidden" id="dmessage" name="dmessage" value="'. $dmessage .'">    

E depois a function

function dclick()
{																		   
   document.getElementById("dmessage").value="Last action: Double Click";

}

De qualquer maneira não imprime nada... até coloquei o $message=$_POST['message']; (que funciona bem) como $message=$_POST['dmessage']; para testar... e nada

Edited by pemoamsi

Share this post


Link to post
Share on other sites
brunoais

N gosto de escrever js nos atributos das tags HTML e não tenho prática com isso, por isso, não te consigo ajudar corretamente.

Além disso, eu não gosto de eval() nem de funções cujo único objetivo é chamarem outras funções.


"[Os jovens da actual geração]não lêem porque não envolve um telecomando que dê para mirar e atirar, não falam porque a trapalhice é rainha e o calão é rei" autor: thoga31

Life is a genetically transmitted disease, induced by sex, with death rate of 100%.

Share this post


Link to post
Share on other sites
pemoamsi

document.getElementById("dmessage").value="Last action: Double Click";

Presumo que coloque no input com o id dmessage o valor "Last action: Double Click", tal como no outro caso coloca "Last action: Click". Acreditava que era por causa da variavel ckick que a dclick não funcionava, mas afinal parece que não é isso... pois mesmo removendo a função onclick="clickfunc()" , a function:

function dclickfunc()
{
   document.getElementById("click").innerHTML="Last action: Double Click";
   document.getElementById("message").value="Last action: Double Click";
}

Continua sem funcionar...

Share this post


Link to post
Share on other sites
HappyHippyHippo

e que tal responder à minha pergunta ?

responde a esta pergunta : "que valor tem a variável $dmessage ?"

nota : "$dmessage" é uma variável do PHP !!!


IRC : sim, é algo que ainda existe >> #p@p

Share this post


Link to post
Share on other sites
pemoamsi

então prontos ... qual é o problema ?

faz esta parte -> document.getElementById("click").innerHTML="Last action: Double Click"; (coloca na pagina actual)

não imprime esta -> document.getElementById("dmessage").value="Last action: Double Click"; (não coloca na página seguinte)

Share this post


Link to post
Share on other sites
HappyHippyHippo

olha para o código do meu primeiro post

agora explica porque razão estás a separar a mensagem de click e a mensagem de double click ...


IRC : sim, é algo que ainda existe >> #p@p

Share this post


Link to post
Share on other sites
pemoamsi

Eu usei e estou novamente a usar o que me disseste, mas acontece exactamente a mesma coisa...

Não compreendo o problema.

Na altura pensei que assim como disse, resolvia, uma vez que com o código que me deu corria o risto de estar a fazer as duas funções ao mesmo tempo, e assim, uma "subrepor-se" a outra, mas afinal não era esse o problema :(

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.