Yo veo mucho más útil hacer uso de la funcion $.ajax de jquery para hacer el envio de los datos del mismo modo que estás haciendo con $.post.
Y dentro del método succes de ajax, una vez recibida respuesta desde el php, haría la acción que tienes pensado hacer con el togle. Creo que de este modo te sería más sencillo hacer el efecto que buscas.
Cita:
Iniciado por emp356 Hola a todos y gracias por vuestra atención,
llevo un par de días peleándome con un $POST de jquery.
La cuestión es que parece que el post en sí funciona; el PHP recibe los datos y arroja un resultado. EL problema reside en el trato posterior de dicho resultado. Estoy tratando de hacer un slideToggle en caso que la validación de los datos enviados a PHP sea correcta pero no hay forma. He tratado de "meter" la información devuelta por dicho post en un input vinculado a un evento change de modo que, si el resultado es el correcto, el form haga el toggle y se esconda pero...no hay manera y no sé qué estoy haciendo mal.
Adjunto a continuación el código:
Código:
<script>
var usu;
var pwd;
var nom2="";
var pwd2="";
var valida="ok";
var resultDef="";
var war;
window.onload = function () {
usu=document.getElementById("user");
pwd=document.getElementById("pass");
tmp=document.getElementById("temp");
usu.addEventListener("change",pillanom);
pwd.addEventListener("change",pillapas);
tmp.addEventListener("change",newtog);
}
function pillanom(){
nom2=usu.value;
}
function pillapas(){
pwd2=pwd.value;
}
$(document).ready(function(){
$('#envia').click(function(event){
$.post("logintest.php",{user: nom2,pass: pwd2},function(resultat){
tmp.value=resultat;
$("#warning").html(resultat);
if( $("#temp").val=="ok"){ $('#hidder').slideToggle();}else{}
});
});
})
function newtog(){
var temp2=tmp.value;
if (temp2.localeCompare("ok")){
$('#hidder').slideToggle();
}
else{}
}
</script>