Jump to content
labtech

Fazer submit de form php com prompt javascript

Recommended Posts

labtech

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 by labtech

Share this post


Link to post
Share on other sites
I-NOZex

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

Share this post


Link to post
Share on other sites
labtech

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

Share this post


Link to post
Share on other sites
labtech

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.

Share this post


Link to post
Share on other sites
I-NOZex

entao fazes getElementById e nao lhe atribuis nenhum ID? pois claro que nao dá :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 by I-NOZex

B2R » Beat2Revolution v3.0b | Regista e divulga-nos

beat2revolution.net

Share this post


Link to post
Share on other sites
labtech

Ele agora está num loop, pois parece nunca receber post do form :confused:

Edit: Tentei fazer um submit button e depois chamá-lo com o javascript, mas também não consegui

Edited by labtech

Share this post


Link to post
Share on other sites
labtech

Eu estava a fazer post para o index.php e devia ser teste.php... FAIL!!

Obrigado pela Ajuda :D

Edited by labtech

Share this post


Link to post
Share on other sites
I-NOZex

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

Share this post


Link to post
Share on other sites

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 account

Sign in

Already have an account? Sign in here.

Sign In Now

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