<form id="cadastro" method="post" action="cadastro.php">
<label for="nome">Nome</label>
<input type="text" name="nome" id="nome" />
<br />
<label for="email">E-mail</label>
<input type="text" name="email" id="email" />
<br />
<label for="endereco">Endereço</label>
<textarea name="endereco" id="endereco"></textarea>
<br />
Sexo
<label for="m">Masculino</label>
<input type="radio" name="sexo" id="m" value="m" />
<label for="f">Feminino</label>
<input type="radio" name="sexo" id="f" value="f" />
<br />
<label for="pacote">Pacote de viagem</label>
<select name="pacote" id="pacote">
<option value="1">Completo</option>
<option value="2">Básico</option>
<option value="3">Simples</option>
</select>
<br />
<input type="submit" name="Submit" value="Enviar" />
</form>
<form id="cadastro" method="post" action="cadastro.php" onsubmit="IPJAX_submit(this, returnFunctionDoCadastro);">
function IPJAX_submit(formulario, returnFunction)
{
var metodo = formulario.method.toUpperCase();
var action = formulario.action + "?";
var Variaveis = "";
var NomeTag;
var TipoInput;
for (var i=0;i<formulario.length;i++)
{
NomeTag = formulario.elements.tagName.toUpperCase();
TipoInput = formulario.elements.type.toUpperCase();
if(NomeTag == "INPUT" || NomeTag == "SELECT" || NomeTag == "TEXTAREA")
{
if(TipoInput == "FILE")
alert('ERRO: Não é possível enviar arquivos por AJAX');
if(TipoInput == "RADIO" || TipoInput == "CHECKBOX" )
{
if(formulario.elements.checked) Variaveis += formulario.elements.name + "=" + escape(formulario.elements.value) + "&";
}
else
Variaveis += formulario.elements.name + "=" + escape(formulario.elements.value) + "&";
}
}
if(metodo == "GET")
{
action += Variaveis;
Variaveis = null;
}
var ajax = openAjax();
ajax.open(metodo, action, true);
ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
eval('ajax.onreadystatechange = ' + returnFunction + ';');
ajax.send(Variaveis);
return false;
}
eval('ajax.onreadystatechange = ' + returnFunction + ';');
function returnFunctionDoCadastro()
{
var resultado;
if(ajax.readyState == 1)
document.getElementById('loading').innerHTML = 'Verificando dados...';
if(ajax.readyState == 4)
{
if(ajax.status == 200)
{
resultado = unescape(ajax.responseText);
if(resultado == "sucesso")
location= 'outraPagina.php';
if(resultado == "emailCadastrado")
alert('Esse email já está cadastrado!);
if(resultado == "semVagas")
alert('Desulpe, as vagas acabaram!);
}
else
document.getElementById('loading').innerHTML = "Erro: " + ajax.status;
}
return false;
}

Cadastre-se
© 2005 - 2008 - Oficina da Net - v 3.0 - É proibida a reprodução parcial ou completa do conteúdo deste site sem autorização por escrito. Resolução adequada: 1024x768px.
Como exibir as mensagens de erro na própria página do formulário para que o usuário possa corrigir e enviar novamente?
Publicado em: 22/08/2008 - 11:13
dsfgsdf
Publicado em: 28/04/2008 - 21:16
Consegui depois de dois acertos: - onde tem elements. colocar elements[i]. - no onsubmit do form colocar = return IPJAX_submit. Só consegui assim!
Publicado em: 03/09/2007 - 11:51
Olá. Muito boa sua coluna. Quanto ao código acima tiver problema com type image. Ainda estou tentando resolver, mas se tiver alguma posição sobre isso agradeço. Parabéns!
Publicado em: 03/09/2007 - 10:49
Muito interessante sua coluna. Já tinha uma breve experiência com AJAX, e estava procurando alguns modelos... Esse Framework, foi você que fez.
Publicado em: 05/01/2007 - 12:39
Muito boa sua coluna Rubens, estava precisando de um ajax bom.
Publicado em: 02/12/2006 - 22:34