pemoamsi Posted May 9, 2013 at 12:38 PM Report #506390 Posted May 9, 2013 at 12:38 PM (edited) 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 May 10, 2013 at 12:44 PM by pemoamsi
RicardoCostaTW Posted May 10, 2013 at 11:41 AM Report #506665 Posted May 10, 2013 at 11:41 AM Armazenar a variável em sessão?
HappyHippyHippo Posted May 10, 2013 at 11:48 AM Report #506667 Posted May 10, 2013 at 11:48 AM 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 Portugol Plus
pemoamsi Posted May 10, 2013 at 12:52 PM Author Report #506681 Posted May 10, 2013 at 12:52 PM 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?
HappyHippyHippo Posted May 10, 2013 at 12:59 PM Report #506684 Posted May 10, 2013 at 12:59 PM 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 Portugol Plus
pemoamsi Posted May 10, 2013 at 01:04 PM Author Report #506689 Posted May 10, 2013 at 01:04 PM 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
brunoais Posted May 10, 2013 at 01:10 PM Report #506691 Posted May 10, 2013 at 01:10 PM 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%.
pemoamsi Posted May 10, 2013 at 01:13 PM Author Report #506693 Posted May 10, 2013 at 01:13 PM (edited) 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 May 10, 2013 at 01:30 PM by pemoamsi
brunoais Posted May 10, 2013 at 01:39 PM Report #506703 Posted May 10, 2013 at 01:39 PM 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%.
HappyHippyHippo Posted May 10, 2013 at 01:43 PM Report #506706 Posted May 10, 2013 at 01:43 PM responde a esta pergunta : "que valor tem a variável $dmessage ?" IRC : sim, é algo que ainda existe >> #p@p Portugol Plus
pemoamsi Posted May 10, 2013 at 02:03 PM Author Report #506713 Posted May 10, 2013 at 02:03 PM 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...
HappyHippyHippo Posted May 10, 2013 at 02:36 PM Report #506720 Posted May 10, 2013 at 02:36 PM 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 Portugol Plus
pemoamsi Posted May 10, 2013 at 02:38 PM Author Report #506721 Posted May 10, 2013 at 02:38 PM Last action: Double Click
HappyHippyHippo Posted May 10, 2013 at 02:50 PM Report #506723 Posted May 10, 2013 at 02:50 PM então prontos ... qual é o problema ? IRC : sim, é algo que ainda existe >> #p@p Portugol Plus
pemoamsi Posted May 10, 2013 at 02:55 PM Author Report #506726 Posted May 10, 2013 at 02:55 PM 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)
HappyHippyHippo Posted May 10, 2013 at 03:02 PM Report #506728 Posted May 10, 2013 at 03:02 PM 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 Portugol Plus
pemoamsi Posted May 10, 2013 at 03:10 PM Author Report #506731 Posted May 10, 2013 at 03:10 PM 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 😞
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now