2017-06-07 4 views
0

Hallo, ich habe versucht, mit einigen Skript versteckt die Flash-Nachricht, sobald es angezeigt wird, aber es funktioniert nicht.Anzeigen der Flash-Nachricht, bis ich die Seite aktualisieren.Versteckte Flash-Nachricht nach einigen Sekunden in codeigniter php

Controller:

if ($this->email->send()) 
     { 
      $this->session->set_flashdata('msg','<div class="alert alert-success text-center" id="successMessage">Thank you for contacting us we will get back to you soon!</div>'); 
      redirect('contact'); 
     } 
     else 
     { 
      $this->session->set_flashdata('msg','<div class="alert alert-danger text-center">There is error in sending mail! Please try again later</div>'); 
      redirect('contact'); 
     } 

Ausblick:

<script> 
$(function() { 
// setTimeout() function will be fired after page is loaded 
// it will wait for 5 sec. and then will fire 
// $("#successMessage").hide() function 
setTimeout(function() { 
    $(".alert-success").hide('blind', {}, 500) 
}, 5000); 
}); 
</script> 
<div class="container"> 

<div class="row contactpageback"> 

     <div class="col-lg-6 contactuspagedetails"> 
      <form name="contact" id="contactform" enctype="multipart/form-data" method="post" action="<?php echo base_url();?>contact"> 
      <?php echo $this->session->flashdata('msg');?> 
      <?php if(isset($msg)){?> 
      <?php echo $msg;?> 
       <?php } ?> 
+0

https://www.codeigniter.com/user_guide/libraries/sessions.html#flashdata das ist, wie fashdata funktioniert. –

+0

können wir nicht verwenden jquery zum verstecken – user8001297

+0

sicher kann man aber über flashdata es kann nicht automatisch entfernt werden, bis Seite aktualisiert wird. –

Antwort

2

Ist das, was Sie wollen. Hoffe, das hilft dir aus.

$(function() { 
 
// setTimeout() function will be fired after page is loaded 
 
// it will wait for 5 sec. and then will fire 
 
// $("#successMessage").hide() function 
 
    
 
    $(".hide-it").hide(5000); 
 

 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<html> 
 
<body> 
 
<div> 
 
    <h1 class='hide-it'>Flash Data value here</h1> 
 
</div> 
 
</body> 
 
</html>

0

Controller:

$this->load->library('session'); 
if ($this->email->send()) 
     { 
      $this->flash->success('Thank you for contacting us we will get back to you soon!</div>'); 
      redirect('contact'); 
     } 
     else 
     { 
      $this->flash->success('There is error in sending mail! Please try again later'); 
      redirect('contact'); 
     } 

Ausblick:

<div id="mydivs"> 
     <?php echo $this->flash->display('success', TRUE);?> 
    </div> 
    <script> 
     setTimeout(function() { 
      $('#mydivs').hide('fast'); 
     }, 10000); 
    </script> 
1

Dies wird Ihnen helfen, Ihre Nachricht mit fadeOut Animation nach 3 Sekunden zu verstecken. Sie können die Sekunden in timeout Variable ändern.

var timeout = 3000; // in miliseconds (3*1000) 
 

 
$('.alert').delay(timeout).fadeOut(300);
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet" /> 
 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div class="alert alert-success"> 
 
    Success Message. 
 
</div>

Verwandte Themen