Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Bom dia para todos, estou com uma dúvida que não sei para onde ir, é o seguinte, tenho um modal que fica "escondido", até ai tudo beleza, o que eu gostaria é de quando depois que o php fizer a inserção do banco, ele me abra o modal, só que não esta abrindo, a inserção no banco e o resto já esta Ok, a única coisa que eu não estou conseguindo é fazer o modal abrir depois que eu dar o insert no banco, basicamente é isto.
Segue o meu php básico abaixo:
$ret = $objReceita->insertSite();
if ($ret==FALSE){
echo '<script>alert("Erro ao inserir a receita, contate o suporte.")</script>';
}else{
echo '<script>alert("Inserido.")</script>';
}
como faço para que o modal apareça só qndo ele estiver dendo do else?
Bom dia, primeiro entra no console do seu navegar e cola esse script no console para ver se o seu modal aparece:
$('#myModall').modal('show');
Se o modal aparecer coloca no seu código.
$ret = $objReceita->insertSite();
if ($ret==FALSE){
echo '<script>alert("Erro ao inserir a receita, contate o suporte.")</script>';
}else{
echo "<script>$('#myModall').modal('show');</script>";
}A sua dúvida é de JS, movendo para lá...
Se realmente for o bootstrap basta:
$('#id_do_modal').modal('show');Lembrando que, se o JS estiver depois do que passei, você terá que colocar istro dentro do document.ready...
Bom dia, coloquei antes do document.ready e não executou, dai fiz como tu falaste ESerra, e dai ele aparece e e desaparece.
Inclusive atualizei o jquery, pois o meu estava com a 2.0.3, mas mesmo assim não solucionou....
Desculpa por postar no lado errado...
executando o código que tu me passou no Console, ele retorna:
Object { context: HTMLDocument → cadastrarreceita.php, selector: "#myModall" }
só que não aparece o modal
Bom dia para todos, desculpa a demora, mas tive outros problemas para resolver, o que acontece é que ele aparece o modal e depois desaparece, se alguém quiser testar, segue o link abaixo:
Testei agora e parece estar a funcionar correctamente. O modal só é fechado quando se clica no X ou em no botão Close.
qual é o navegador que tu esta usando?
te pergunto porque eu executo aqui, e dai ele se fecha sozinho, depois de processar ele se fecha, sem clicar em nada
Segue o meu php, não sei o que pode ser :wacko: :wacko: :wacko:
<?php
include_once './cabecalho.php';
if ($_POST){
if (isset($_POST['titulo']) && isset($_POST['nome_usuario']) && isset($_POST['email_usuario']) && isset($_POST['descricao'])){
//GRAVA A RECEITA
$objReceita = new Receitas();
$objReceita->titulo = $_POST['titulo'];
$objReceita->nome_usuario = $_POST['nome_usuario'];
$objReceita->email_usuario = $_POST['email_usuario'];
$objReceita->descricao = $_POST['descricao'];
$ret = $objReceita->insertSite();
if ($ret==FALSE){
echo '<script>alert("Erro ao inserir a receita, contate o suporte.")</script>';
}else{
echo "<script>$('#myModall').modal('show');</script>";
//MANDA EMAIL PARA O USUÁRIO
$para = $_POST['email_usuario'];
$assunto = 'Obrigado por cadastrar sua receita.';
$boundary = "XYZ-".date("dmYis")."-ZYX";
$headers = "From: nao_responda@recofran.com.br\n";
$headers .= "Content-type: text/html; charset=utf-8\n"; // PARA MANDAR EMAIL EM HTML
$corpoMSG = '<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<script type="text/javascript" src="http://cdnjs.cloudflare.com/ajax/libs/jquery/2.0.3/jquery.min.js"></script>
<!-- Latest compiled and minified CSS -->
<link rel="stylesheet" href="[https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css](https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css)"
integrity="sha384-1q8mTJOASx8j1Au+a5WDVnPi2lkFfwwEAa8hDDdjZlpLegxhjVME1fgjWPGmkzs7" crossorigin="anonymous">
<!-- Optional theme -->
<link rel="stylesheet" href="[https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap-theme.min.css](https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap-theme.min.css)"
integrity="sha384-fLW2N01lMqjakBkx3l/M9EahuwpSfeNvV63J5ezn3uZzapT0u7EYsXMjQV+0En5r" crossorigin="anonymous">
<!-- Latest compiled and minified JavaScript -->
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js"
integrity="sha384-0mSbJDEHialfmuBBQP6A4Qrprq5OVfW37PRR3j5ELqxss1yVqOtnepnHVP9aJ7xS" crossorigin="anonymous"></script>
</head>
<body>
<div class="section">
<div class="container">
<div class="row">
<div class="col-md-12"><br><br>
<img src="http://www.recofran.com.br/novo/imgs/logotipo.jpg" width="30%" class="center-block img-responsive">
</div>
</div>
</div>
</div>
<div class="section">
<div class="container">
<div class="row">
<div class="col-md-12">
<div class="page-header">
<h3>Caro '.ucwords($_POST['nome_usuario']).'.
</h3>
</div>
</div>
</div>
</div>
</div>
<div class="section">
<div class="container">
<div class="row">
<div class="col-md-12">
<p class="lead text-justify">Obrigado por participar do nosso site. Sua receita será analisada pela
Empresa e, após aprovação, será publicada. Você receberá um link onde poderá
conferir sua participação. A Recofran agradece a sua colaboração, na certeza
de que as mesas desta fronteira ganharam mais um pouco de harmonia e integração.</p>
</div>
</div>
</div>
</div>
</body>
</html>';
//envia o e-mail
if (mail($para, $assunto, $corpoMSG, $headers)){
//echo '<script>alert("EMAIL ENVIADO")</script>';
//MANDAR EMAIL PARA ADMIN AVISANDO QUE TEM RECEITA
$para = 'cpd@recofran.com.br';
$assunto = 'Receita cadastrada no site.';
$boundary = "XYZ-".date("dmYis")."-ZYX";
$headers = "From: nao_responda@recofran.com.br\n";
$headers .= "Content-type: text/html; charset=utf-8\n"; // PARA MANDAR EMAIL EM HTML
$corpoMSG = 'Nova receita cadastrada no site, verifique no gestor de conteúdos';
if (mail($para, $assunto, $corpoMSG, $headers)){
echo "<script>$('#myModal').modal('show')</script>";
}else{
echo '<script>alert("EMAIL PARA O ADM NÃO ENVIADO")</script>';
}
}else{
echo '<script>alert("EMAIL NÃO ENVIADO")</script>';
}
//AVISA O USUÁRIO QUE A RECEITA FOI CADASTRADA - OK
//LIMPA O FORMULÁRIO PARA QUE POSSA ENVIAR OUTRA RECEITA - OK
}
}
}
?>Seu modal "some" porque a página é recarregada pelo form action.
Ou seja, após o modal aparecer, a página dá um reload automático, devido ao funcionamento do form.
Se você quer que a pessoa clique em OK no modal, antes de fazer outra coisa, deve alterar a forma com do seu formulário atual.
basicamente eu teria que apontar o action para um outro arquivo ou teria algum outro modo?
Você já verificou a documentação do Bootstrap para ver como ativar o modal via JavaScript?