tplantte 0 Posted May 7, 2020 Report Share Posted May 7, 2020 Bom dia, Estou precisando colocar um modal ao inserir um registro no banco, porem o modal só aparece se eu CLICAR no botao para chama-lo, caso eu tire o botao o modal não é exibido, alguém pode me ajudar ? <?php if(isset($_POST['btncadastrar'])){ $obra = strtoupper($_POST['obra']); $status = strtoupper($_POST['status']); $cadastrar = "INSERT INTO tblCliente (obra_cliente,status) VALUES ('$obra','$status')"; $cadastra = mysqli_query($con,$cadastrar); if(mysqli_affected_rows($con) > 0){ ?> <script> $(document).ready(function () { $('#myModal').modal('show'); }); </script> <button type="button" class="btn btn-primary" data-toggle="modal" data-target="#myModal"> Abrir modal de demonstração </button> <div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel"> <div class="modal-dialog" role="document"> <div class="modal-content"> <div class="modal-header"> <h4 class="modal-title" id="myModalLabel">Usuário cadastrado com Sucesso!</h4> </div> <div class="modal-body"> </div> <div class="modal-footer"> <button type="button" class="btn btn-info" data-dismiss="modal">Corrigir Cadastro</button> <a href="index.php"><button type="button" class="btn btn-success">Ok</button></a> </div> </div> </div> </div> <?php }else { echo 'Ocorreu algum erro , por favor tente novamente!'; } } ?> Quote Link to post Share on other sites
0 ofelipe 0 Posted May 20, 2020 Report Share Posted May 20, 2020 Opa bão, Para entender melhor, você precisa que o modal abra quando a página é acessada? Pode ser que não esteja funcionando por que você esse $(document).ready é uma função do jquery. Tente com esse código em js puro: window.onload = function(){ $('#myModal').modal('show'); } Quote Link to post Share on other sites
0 tplantte 0 Posted May 20, 2020 Author Report Share Posted May 20, 2020 1 hora atrás, ofelipe disse: Opa bão, Para entender melhor, você precisa que o modal abra quando a página é acessada? Pode ser que não esteja funcionando por que você esse $(document).ready é uma função do jquery. Tente com esse código em js puro: window.onload = function(){ $('#myModal').modal('show'); } ainda não deu certo, o registro foi inserido no banco mas não apareceu o modal. Engraçado que se eu colocar um botão chamando o modal ele é exibido ( penso eu que os scripts estao ok, jquery e tudo mais), mas nesse codigo não "aciona" ele. <?php if(isset($_POST['btncadastrar'])){ $obra = strtoupper($_POST['obra']); $status = strtoupper($_POST['status']); $cadastrar = "INSERT INTO tblCliente (obra_cliente,status) VALUES ('$obra','$status')"; $cadastra = mysqli_query($con,$cadastrar); ?> <div class="modal fade" id="aviso" tabindex="-1" role="dialog" aria-labelledby="avisoLabel"> <div class="modal-dialog" role="document"> <div class="modal-content"> <div class="modal-header"> <h4 class="modal-title" id="myModalLabel">Usuário cadastrado com Sucesso!</h4> </div> <div class="modal-body"> </div> <div class="modal-footer"> <button type="button" class="btn btn-info" data-dismiss="modal">Corrigir Cadastro</button> <a href="index.php"><button type="button" class="btn btn-success">Ok</button></a> </div> </div> </div> </div> <script type="text/javascript"> window.onload = function(){ $('#aviso').modal('show'); } </script> <?php } ?> Quote Link to post Share on other sites
0 ofelipe 0 Posted May 20, 2020 Report Share Posted May 20, 2020 Estranho, no console do navegador aparece alguma mensagem ? Daria pra testar com um timeout, quem sabe né? window.onload = function(){ setTimeout(function(){ $('#aviso').modal('show'); }, 4000); } Quote Link to post Share on other sites
0 tplantte 0 Posted May 20, 2020 Author Report Share Posted May 20, 2020 23 minutos atrás, ofelipe disse: Estranho, no console do navegador aparece alguma mensagem ? Daria pra testar com um timeout, quem sabe né? window.onload = function(){ setTimeout(function(){ $('#aviso').modal('show'); }, 4000); } Agora funcionou, apareceu, porem muito rapido, mesmo eu tirando o timeout ... no console da esse erro: Uncaught TypeError: $(...).modal is not a function at window.onload (cadastro_obra.php:273) e deixei assim : <script type="text/javascript"> window.onload = function(){ $('#aviso').modal('show'); }; </script> Quote Link to post Share on other sites
0 ofelipe 0 Posted May 20, 2020 Report Share Posted May 20, 2020 Huum, talvez não está chamando o JS do bootstrap ou então ele executa esse script antes do JS do bootstrap ser carregado (provavelmente é isso). Mas que bom que funcionou kkk 👍 Quote Link to post Share on other sites
Question
tplantte 0
Bom dia,
Estou precisando colocar um modal ao inserir um registro no banco, porem o modal só aparece se eu CLICAR no botao para chama-lo, caso eu tire o botao o modal não é exibido, alguém pode me ajudar ?
Link to post
Share on other sites
5 answers to this question
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.