Ir para conteúdo

POWERED BY:

Arquivado

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

jrotta

Enviando formulário sem submit

Recommended Posts

Fiz um chat em php e ajax. Ele atualiza as mensagens a cada 2 segundos e tudo mias. O problema, é que quando você escreve uma mensagem no input e clica em enviar a página inteira é atualizada, e isso é muito chato ;s

 

procurei na net uma maneira de postar o campo sem atualizar a página, mas só achei soluções em tópicos antigos de 2006 que utilizam iframe. Acho que é possivel criar algo melhor que isso.

 

 

if ($_POST['msg']) {
$msg = strip_tags($_POST['msg']);
if (($msg != NULL) and (strlen($msg) < 240)){

	$insert['player_id'] = $player->id;
	$insert['msg'] = $msg;
	$insert['time'] = time();
	$query = $db->autoexecute('user_chat', $insert, 'INSERT');
}

echo "<form action=\"online.php\" method=\"POST\">";
echo "<center><input type=\"text\" id=\"msg\" name=\"msg\" size=\"65\" value=\"\"/>";
echo "<input type=\"submit\" name=\"submit\" value=\"Enviar Mensagem\"></center>";
echo "</form>";

 

Alguem pode me dar uma luz? Sou bem noob em javascript ainda e acho q ainda não consigo criar algo assim do zero.

Compartilhar este post


Link para o post
Compartilhar em outros sites

basta usar ajax tb para enviar o formulario.

Compartilhar este post


Link para o post
Compartilhar em outros sites

basta usar ajax tb para enviar o formulario.

 

então, eu tenho um ajax para atualizar a Div, n sei aplicalo para enviar um input. (acho q um dos maiores problemas é clicar no submit e ele atualiza a página automático já ;x)

 

Tem que lembrar q ele tem q pegar o valor do input, enviar, e depois limpar o campo da mensagem :S

Compartilhar este post


Link para o post
Compartilhar em outros sites

Aqui tem um exemplo de ajax enviando formulário.

 

http://forum.imasters.com.br/topic/393224-fazer-tudo-na-div-idconteudo/

Compartilhar este post


Link para o post
Compartilhar em outros sites

olha a solução que encontrei:

 

<script type="text/javascript">
function submitMsg(){
var msg = 'online.php?msg=' + document.getElementById('msg').value;

LoadPage(msg, 'envia');
document.getElementById('msg').value = '';
}
</script>

echo "<input type=\"text\" id=\"msg\" name=\"msg\" size=\"65\" value=\"\"/>";
echo "<input type=\"button\" onclick=\"submitMsg()\" value=\"Enviar Mensagem\"/>";

 

 

funciona, mas ainda não agrada muito, pq você tem q clicar no submit com o mouse, depois ir de volta pro input, depois clicar no subit com o mouse denovo, e assim não agrada muito ;x

 

Alguem sabe como eu poderia fazer pra o formulário funcionar normalmente, para dar submit com o ENTER, e continuar selecionado o input de texto?

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.