tplantte Postado Maio 7, 2020 Denunciar Share Postado Maio 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!'; } } ?> Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 ofelipe Postado Maio 20, 2020 Denunciar Share Postado Maio 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'); } Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 tplantte Postado Maio 20, 2020 Autor Denunciar Share Postado Maio 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 } ?> Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 ofelipe Postado Maio 20, 2020 Denunciar Share Postado Maio 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); } Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 tplantte Postado Maio 20, 2020 Autor Denunciar Share Postado Maio 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> Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 ofelipe Postado Maio 20, 2020 Denunciar Share Postado Maio 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 👍 Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
tplantte
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 para o comentário
Compartilhar em outros sites
5 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.