Wanted a watermark on a text box similar to local.live.com and came across Deobrat’s post which i found really useful.
I’ve converted the code to c# and used the textbox.ClientID instead of ID as we are using anthem etc ID doesn’t work for us.
Here’s the code:
using System;
using System;
using System.Text;
using System.Web.UI.WebControls;
namespace Helper
{
public static class WatermarkHelper
{
public static void ApplyWaterMarkToTextBox(ref TextBox textBox, string waterMarkText,
string waterMarkStyle, string normalStyle)
{
textBox.Attributes.Add("OnFocus",
"javascript:js_waterMark_Focus('" + textBox.ClientID + "', '" +
waterMarkText.Replace("'", "\'") + "','" + waterMarkStyle + "', '" + normalStyle +
"')");
textBox.Attributes.Add("OnBlur",
"javascript:js_waterMark_Blur('" + textBox.ClientID + "', '" +
waterMarkText.Replace("'", "\'") + "','" + waterMarkStyle + "', '" + normalStyle +
"')");
textBox.Text = waterMarkText;
textBox.CssClass = waterMarkStyle;
if (!textBox.Page.ClientScript.IsClientScriptBlockRegistered("WaterMarkScript"))
{
StringBuilder scriptBuilder = new StringBuilder();
scriptBuilder.Append(@"" + Environment.NewLine);
textBox.Page.ClientScript.RegisterClientScriptBlock(textBox.Page.GetType(), "WaterMarkScript",
scriptBuilder.ToString(), false);
}
}
}
}