Wednesday, January 18, 2012

jQuery watermark plugin disappearing


I am in search for a good jQuery watermark plugin that work with ASP.NET and found here and downloaded it and included in the head portion




<script src="js/jquery.watermark.min.js" type="text/javascript"></script>



I have login and signup on same page and referencing them as:




<script type="text/javascript">
$(function () {
$("#<%= (Login1.FindControl("UserName")).ClientID %>").watermark("Enter your Username");
$("#<%= (Login1.FindControl("Password")).ClientID %>").watermark("Enter your Password");
$("#<%= (CreateUserWizard1.CreateUserStep.ContentTemplateContainer.FindControl("UserName")).ClientID %>").watermark("Enter your Username");
$("#<%= (CreateUserWizard1.CreateUserStep.ContentTemplateContainer.FindControl("Password")).ClientID %>").watermark("Enter your Password");
$("#<%= (CreateUserWizard1.CreateUserStep.ContentTemplateContainer.FindControl("ConfirmPassword")).ClientID %>").watermark("Enter your ConfirmPassword");
$("#<%= (CreateUserWizard1.CreateUserStep.ContentTemplateContainer.FindControl("Email")).ClientID %>").watermark("Enter your Email");
});
</script>



Now the problem is the watermark is showing very well for all the textboxes.If I try to login then the page will be doing postback then all the watermark from the textboxes disappears .



So what do I need to do in order not to remove all of them even though there is a postback.

2 comments:

  1. You can try this simple trick

    <input type="text" value="Enter keyword here"
    onfocus="if(this.value=='Enter keyword here'){this.value=''}"
    onblur="if(this.value==''){this.value='Enter keyword here'}" />


    Or You can try HTML 5 placeholder

    <input type="text" name="first_name" placeholder="Your first name...">

    ReplyDelete
  2. When you refresh part of a page, the event bindings associated with the replaced elements are thrown out. You need to re-initialize the bindings to the replaced elements. You need to re-run the function inside watermark that does this.

    ReplyDelete