2009-11-06 7 views
1

J'ai un formulaire avec deux zones de texte. Une fois que j'entre les données et que je clique sur le bouton Enregistrer, j'obtiens un message dans l'étiquette: indiquant qu'il a été enregistré avec succès. Puis je suis de nouveau dans le même formulaire, mais lorsque je clique sur le bouton Enregistrer, un message me dit qu'il ne peut pas être vide "comme la valeur de la zone de texte est vide cette fois" du validateur de champ requis.comment désactiver un message d'étiquette après 10 secondes

Mais je montre toujours le message "data saved successfully", ce qui ne devrait pas arriver. est-il possible après avoir montré le message: les données enregistrées avec succès. après 10 secondes. je peux cacher l'étiquette. sont claires la valeur dans l'étiquette. sothati snt afficher le message Comment résoudre ce problème?

Merci.

Répondre

0

Vous pouvez utiliser un timout en Javascript ou peut-être le timer plugin de jQuery. Cela vous permettra de créer une fonction qui supprime le message après une période de temps. Je n'ai pas utilisé le plugin minuteur moi-même mais il semble assez stable.

$("#save-button").click(function() { 
     //code to save etc 
     $("your label").oneTime(10000, "hide", function() { 
       $("Your Label").hide(); 
     }); 
}); 
2
setTimeout("function_to_hide_label()", time_in_milliseconds); 

Le temps est « après combien de temps doit être appelée la fonction ».

Edit:

$('#btnSave').click(function() { 
     $('#lblsuccess').show(); 
     setTimeout(function(){ $('#lblsuccess').hide(); }, 10000); 
});

Quelque chose comme cela devrait probablement travailler, je ne l'ai pas testé cependant.

+0

mon label id: lblsuccess, mon bouton id: btnSave donc voulez-vous plz donner tout le codage comment le faire – happysmile

+0

j'édité ma réponse avec un nouveau code. –

+0

Juste une petite note, 'setTimeout ("function_to_hide_label()", time_in_milliseconds)' peut être écrit comme 'setTimeout (function_to_hide_label, time_in_milliseconds)', pas eval implicite, juste une fonction ancienne plaine. – nlogax

0

Essayez le jQuery timer plugin. Vous pouvez faire quelque chose comme ceci:

$('#your-label').oneTime(10000, function() { 
    $(this).hide(); 
}); 
+0

salut. comment appeler cette fonction. sur l'événement de clic de bouton devrais-je appeler ce functinor comment devrais-je appeler cette fonction – happysmile

0

Vous devriez changer votre fonction de validation pour effacer le message quand il s'exécute. De cette façon, lorsque l'utilisateur essaie de renvoyer le formulaire, le message de données disparaît à ce moment-là. Le faire disparaître après 10 secondes sera étrange si le formulaire est resoumis dans les 10 secondes.

Questions connexes