Jump to content
Fórum Script Brasil
  • 0

Modal bootstrap ao insetir no BD


Question

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!';
  }


}
?>

 

Link to post
Share on other sites

5 answers to this question

Recommended Posts

  • 0

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');
}

 

Link to post
Share on other sites
  • 0
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     
}
?>

 

Link to post
Share on other sites
  • 0

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);
}

 

Link to post
Share on other sites
  • 0
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>

 

Link to post
Share on other sites
  • 0

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 👍

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Forum Statistics

    • Total Topics
      148720
    • Total Posts
      644508
×
×
  • Create New...