Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
iaew galera beleza!? http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif
eu tava dando umas olhadas em alguns codigos aew
pra enviar um form via pos
aew ficou mais ou menos assim
o js eh esse
var navegador = navigator.userAgent.toLowerCase(); //Cria e atribui à variável global 'navegador' (em caracteres minúsculos) o nome e a versão do navegador
var xmlhttp; //Cria uma variável global chamada 'xmlhttp'
//Função que inicia o objeto XMLHttpRequest
function objetoXML() {
if (navegador.indexOf('msie') != -1) { //Internet Explorer
var controle = (navegador.indexOf('msie 5') != -1) ? 'Microsoft.XMLHTTP' : 'Msxml2.XMLHTTP'; //Operador ternário que adiciona o objeto padrão do seu navegador (caso for o IE) à variável 'controle'
try {
xmlhttp = new ActiveXObject(controle); //Inicia o objeto no IE
} catch (e) { }
} else { //Firefox, Safari, Mozilla
xmlhttp = new XMLHttpRequest(); //Inicia o objeto no Firefox, Safari, Mozilla
}
}
//Função que envia o formulário
function enviarForm(url, campos, destino) {
var elemento = document.getElementById(destino); //Atribui à variável 'elemento' o elemento que irá receber a página postada
objetoXML(); //Executa a função objetoXML()
if (!xmlhttp) { //Se o objeto de 'xmlhttp' não estiver true
elemento.innerHTML = 'Impossível iniciar o objeto XMLHttpRequest.'; //Insere no 'elemento' o texto atribuído
return;
} else { //Senão
elemento.innerHTML = 'Carregando...'; //Insere no 'elemento' o texto atribuído
}
xmlhttp.onreadystatechange = function () {
if (xmlhttp.readyState == 4 || xmlhttp.readyState == 0) { //Se a requisição estiver completada
if (xmlhttp.status == 200) { //Se o status da requisição estiver OK
elemento.innerHTML = xmlhttp.responseText; //Insere no 'elemento' a página postada
} else { //Senão
elemento.innerHMTL = 'Página não encontrada!'; //Insere no 'elemento' o texto atribuído
}
}
}
xmlhttp.open('POST', url+'?'+campos, true); //Abre a página que receberá os campos do formulário
xmlhttp.send(campos); //Envia o formulário com dados da variável 'campos' (passado por parâmetro)
}
essa a pag index
<form action="includes/envia.comentario.php" method="post" onSubmit="setarCampos(); enviarForm('includes/envia.comentario.php', campos, 'divResultado'); return false;" >
<input type="hidden" name="id_materia" id="id_materia" value="<?php echo $lista[0]["id_materia"]; ?>" />
<input type="hidden" name="id_foto" id="id_foto" value="<?php echo $lista[0]["id_foto"] != "" ? $lista[0]["id_foto"] : '0'; ?>" />
<table width="100%" border="0" cellspacing="1" cellpadding="1">
<tr>
<td colspan="3">
<table background="imgs/bgBarraComentario.jpg" width="100%" cellpadding="0" cellspacing="0" border="0" height="15px" >
<tr>
<td><b> .: Comentários</b> <img src="imgs/setaBarraComentario.jpg" style="margin-left:5px; margin-top: -1px; margin-bottom: -3px; " />
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="9%" align="right"><b>Nome:</b></td>
<td colspan="2"><input name="nome" id="nome" type="text" class="inputNomeEmail" /></td>
</tr>
<tr>
<td align="right"><b>E-mail:</b></td>
<td colspan="2"><input name="email" id="email" type="text" class="inputNomeEmail" /></td>
</tr>
</table>
<table cellpadding="0" cellspacing="0" border="0" width="100%" >
<tr>
<td colspan="2"><b>Comentário:</b></td>
<td width="28%" rowspan="2">
<table width="100%" border="0" cellspacing="1" cellpadding="1">
<tr>
<td width="4%"><img src="imgs</td>
<td width="12%"><img src="imgs/emoticons/(8).gif" /></td>
<td width="11%" rowspan="2"><img src="imgs</td>
<td width="73%" rowspan="2"><img src="imgs</td>
</tr>
<tr>
<td><img src="imgs</td>
<td><img src="imgs</td>
</tr>
<tr>
<td colspan="2"><img src="imgs</td>
<td><img src="imgs</td>
<td><img src="imgs</td>
</tr>
</table>
</td>
</tr>
<tr>
<td colspan="2"><textarea name="comentario" id="comentario" class="TAComentario"></textarea>
<br />
<input name="image" type="image" class="inputOkLogin" src="imgs/butOk.gif" />
</td>
</tr>
</table>
</form>
<!-- Cria a variável com os campos para envio via parâmetro //-->
<script>
function setarCampos() {
campos = "id_materia="+encodeURI(document.getElementById('id_materia').value).toUpperCase()+"&id_foto="+encodeURI(document.getElementById('id_foto').value).toUpperCase()+"&nome="+encodeURI(document.getElementById('nome').value).toUpperCase()+"&email="+encodeURI(document.getElementById('email').value).toUpperCase()+"&comentario="+encodeURI(document.getElementById('comentario').value);
}
function pegaVariaveis() {
var variaveis = new Array('id_materia','id_foto','nome','email','comentario');
var dados = new String;
var comprimento = variaveis.length;
for(i = 0; i < comprimento; i) {
campo = variaveisi;
dados = campo "=" encodeURI(eval('document.form.' campo '.value'));dados = "&";
}
}
}
</script>extract($_POST); //Extraí os dados do formulário
$id_materia = ($id_materia != "") ? $id_materia : "desconhecido";
$id_foto = ($id_foto != "") ? $id_foto : "desconhecido";
$nome = ($nome != "") ? $nome : "desconhecido"; //Verifica se algum nome foi digitado
$email = ($email != "") ? $email : "desconhecido"; //Verifica se algum email foi digitado
$comentario = ($comentario != "") ? $comentario : "desconhecido";
echo $id_materia.', '.$id_foto.', '.$nome.', '.$email.', '.$comentario; //Retorna com a resposta
bem a dogeito q estar o q acontece eh ele chamar a pag envia.comentario em uma nova e nao na mesmma,
soh q se eu tiro a funçao pegaVariaveis() da pagina do form eh atualizado apenas a div q eu peço mais sem os
dados nela
:blink:
alguem sabe dizer mais ou menos o q eu poderia tah fazendo pra melhorar issu?
grato
Carregando comentários...