labtech Posted October 11, 2013 at 08:33 PM Report #528591 Posted October 11, 2013 at 08:33 PM (edited) Boas a comunidade. Tenho aqui um pequeno problema em que preciso de fazer submit de um form recorrendo a input de um prompt em javascript. Razao: Num projecto que estou a fazer para dispositivos moveis, e nao consigo fazer autofocus numa textbox para activar o teclado automaticamente, e inserir os dados. Por isso estou a tentar fazer com um prompt em javascript. Codigo: <html> <head> <script type="text/javascript"> function recolherInfo() { var nome = prompt("Insira o seu nome"); document.forms["form"].submit(); } </script> </head> <body> <?php echo "<script type=\"text/javascript\"> recolherInfo(); </script>"; echo "<form class=\"form\" action=\"index.php\" name=\"NOME\" method=\"POST\" id=\"form\">"; $nome=strip_tags($_POST['NOME']); //name=NOME --> ao criar form if ($nome) { echo $nome; } else { echo "nao recebi nada"; } ?> </body> </html> Obrigado Edited October 11, 2013 at 08:52 PM by labtech
I-NOZex Posted October 11, 2013 at 09:48 PM Report #528603 Posted October 11, 2013 at 09:48 PM document.forms["form"].submit(); o parametro que ele tem de levar é o name do form, que ta como NAME e nao form... normal nao dar B2R » Beat2Revolution v3.0b | Regista e divulga-nos beat2revolution.net
labtech Posted October 11, 2013 at 10:30 PM Author Report #528611 Posted October 11, 2013 at 10:30 PM Obrigado pela resposta. Agora o problema está em guardar o dado inserido no prompt no php. $nome=strip_tags($_POST['NOME']); <-- o que meto dos [] ?? porque o prompt não tem id
I-NOZex Posted October 11, 2013 at 11:19 PM Report #528620 Posted October 11, 2013 at 11:19 PM usa um hidden input 😉 <input type="hidden" id="nome" /> B2R » Beat2Revolution v3.0b | Regista e divulga-nos beat2revolution.net
labtech Posted October 12, 2013 at 01:10 AM Author Report #528632 Posted October 12, 2013 at 01:10 AM Peguei na tua ideia do hidden, mas ainda não dá :| Codigo: <html> <head> <script type="text/javascript"> function recolherInfo() { var nome = prompt("Insira o seu nome"); document.getElementById('valor').value(nome); document.forms['form'].submit(); } </script> </head> <body> <form action="index.php" method="POST"> <input type="hidden" name="valor"> </form> <?php echo "<script type=\"text/javascript\"> recolherInfo(); </script>"; $nome=strip_tags($_POST['nome']); //name=NOME --> ao criar form if ($_POST['nome']) { echo $nome; } else { echo "nao recebi nada"; } ?> </body> </html> Em que crio o hidden e depois com o javascript mudo o valor do hidden e depois faço submit em javascript, mas não percebo porque não dá. Obrigado pela ajuda.
I-NOZex Posted October 12, 2013 at 10:11 AM Report #528653 Posted October 12, 2013 at 10:11 AM (edited) entao fazes getElementById e nao lhe atribuis nenhum ID? pois claro que nao dá 😄 e o form nao tem atributo name codigo como deve de ser: <html> <head> <script type="text/javascript"> function recolherInfo() { var nome = prompt("Insira o seu nome",''); document.getElementById('nome').value = nome; //nome = id do hidden input document.forms['form1'].submit(); //form1 = nome do form } </script> </head> <body> <form action="index.php" method="POST" name="form1"> <input type="hidden" name="nome" id="nome"> </form> <?php if(isset($_POST) && isset($_POST[ 'nome'])) { //verifica se foi efectuada submiçao do form, e se o campo nome foi enviado $nome=strip_tags($_POST[ 'nome']); //name=NOME -->ao criar form echo $nome; }else{ ?> <script type="text/javascript"> recolherInfo(); </script> <?php } ?> </body> </html> Edited October 12, 2013 at 10:35 AM by I-NOZex B2R » Beat2Revolution v3.0b | Regista e divulga-nos beat2revolution.net
labtech Posted October 12, 2013 at 03:12 PM Author Report #528665 Posted October 12, 2013 at 03:12 PM (edited) Ele agora está num loop, pois parece nunca receber post do form 😕 Edit: Tentei fazer um submit button e depois chamá-lo com o javascript, mas também não consegui Edited October 12, 2013 at 03:36 PM by labtech
I-NOZex Posted October 12, 2013 at 05:00 PM Report #528674 Posted October 12, 2013 at 05:00 PM (edited) aqui funciona bem, testei no chrome, firefox e IE... Edited October 12, 2013 at 05:01 PM by I-NOZex B2R » Beat2Revolution v3.0b | Regista e divulga-nos beat2revolution.net
labtech Posted October 12, 2013 at 05:19 PM Author Report #528675 Posted October 12, 2013 at 05:19 PM (edited) Eu estava a fazer post para o index.php e devia ser teste.php... FAIL!! Obrigado pela Ajuda 😄 Edited October 12, 2013 at 05:22 PM by labtech
I-NOZex Posted October 12, 2013 at 06:50 PM Report #528681 Posted October 12, 2013 at 06:50 PM Sempre as ordens, o que precisares, posta que ha sempre malta que ajuda claro que erros simples primeiro pesquisa-se, e se nao houver soluçao, ai é que se cria o post, sempre de acordo com as regras (: B2R » Beat2Revolution v3.0b | Regista e divulga-nos beat2revolution.net
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