J'ai créé une page où, si l'utilisateur met à jour son formulaire, le système le renverra à l'utilisateur avec un message comme celui-ci:
header('loaction:/index.php?msg');
Sur le site index.php, il charge ceci:
if(isset[$_GET['msg'] {
$message = 'Updated';
echo '<div class="update_message">'.$message.'</div>';
};
Cela fonctionne bien, mais j'aimerais que le message disparaisse au bout de quelques secondes. J'ai essayé cela, mais je ne voulais pas disparaître:
if(isset[$_GET['msg'] {
$message = 'Updated';
echo '<div class="update_message">'.$message.'</div>';
echo "<script type='text/javascript'>
$(function() {
$('div.update_message').hide().fadeIn().delay(3000).fadeOut('slow');
})
</script>";
};
Le message apparaît toujours, mais il ne s'efface pas.
Vous utilisez un extrait de code jQuery, mais avez-vous chargé la bibliothèque jQuery?
Vous pouvez le faire en utilisant: JHtml::_('jquery.framework');
Voici le code mis à jour avec quelques modifications:
$msg = JFactory::getApplication()->input->get('msg');
if (isset($msg))
{
echo '<div id="update_message">Updated</div>';
JHtml::_('jquery.framework');
JFactory::getDocument()->addScriptDeclaration('
jQuery(function($) {
$('#update_message').delay(3000).fadeOut('slow');
});
');
}
J'espère que cela t'aides