Ir para conteúdo

POWERED BY:

Arquivado

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

marcelo2605

[Resolvido] jQuery dentro de PHP não está funcionando

Recommended Posts

Pessoal, nesse script:

 

if(isset($_GET['cadastro'])=='true'){
 echo '<script>';
 echo '$("#confirmation").hide()';
 echo '</script>';
}

 

A ação do jquery não está funcionando. Alguém sabe por que?

Compartilhar este post


Link para o post
Compartilhar em outros sites

tente colocar o caminho do jquery.js

Compartilhar este post


Link para o post
Compartilhar em outros sites

Vinicius, o #confirmation é um form presente no HTML. Troquei para

 

echo '$(document).ready(function() {$("#confirmation").hide()});';

 

e mesmo assim nada.

 

Shini, colocar o caminho dentro do php? Mas ele já está no final do body.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Vinicius, essa é a minha situação mesmo.

 

Basicamente, quero que o formulário suma quando o submit for pressionado e a página carregada.

 

if(isset($_GET['cadastro'])=='true'){
echo '<p class="contentSuccess">Obrigado! Seu e-mail agora está cadastrado e você receberá nossas notícias e ofertas.</p>'; 
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Amigo, eu sugiro você fazer:

 

if(isset($_GET['cadastro'])=='true'){
   $encode['message'] 'Obrigado! Seu e-mail agora está cadastrado e você receberá nossas notícias e ofertas.'; 
   $encode['success'] = true;
   echo json_encode($encode);
}

 

E crie seu JS separadamente:

$(document).ready(function(){
    function hideElement(element){
        $(element).hide();
        $.ajax({
            url: 'arquivoPHP.php',
            data: $('#seuForm').serialize(),
            success: function(data){
                 var object = $.parseJSON(data);
                 return object.success ? $('#div').html('<p class="contentSuccess">'+object.message+'</p>'); : alert(object.message);
            }
        })
    }
})

 

Seu HTML:

<a href"javascript:void(0)" onclick="hideElement(this)">Título da âncora</a>

 

É mais prático, fácil e melhor manutenção. Eu pelo menos trabalho "mais ou menos" desta forma!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara, criei algo bem simples para você, dê uma olhada.

 

Vou postar todo o código aqui

 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Documento sem título</title>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7/jquery.js"></script> 
<script src="http://malsup.github.com/jquery.form.js"></script> 
<script> 
$(document).ready(function(){
$('#formulario').ajaxForm({ 
target: "#resultado",
success: function(retorno){
$("#resultado").html(retorno);
$("#formulario").fadeOut();
}
}); 
}); 
</script>
</head>
<body>
<div id="resultado"></div>
<br />
<form method="post" action="cadastra.php" name="formulario" id="formulario">
<input type="text" name="nome" /><br /><br />
<input type="text" name="idade" /><br />
<input type="submit" value="Enviar" />
</form>
</body>
</html>


 

Ai no PHP você resgata e imprimi.

 

 

<?php

$nome = $_POST['nome'];
$idade = $_POST['idade'];
echo "Nome:".$nome."<br>";
echo "Idade:".$idade;

?>

 

Assim que o a função for realizada ele da um fadeOut no form, caso prefira esconde ele com => .hide();

Compartilhar este post


Link para o post
Compartilhar em outros sites

É por aí, porém faça a separação dos arquivos. O que é PHP, JS, HTML, CSS, enfim.

Também utilizo AjaxForm, és um plugin excelente e muito útil para upload múltiplo usando HTML5.

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.