PDA

View Full Version : سوال: تغییر نکردن متن text box در هنگام استفاده از strWatermark



malaki.davud
شنبه 26 آذر 1390, 12:02 عصر
سلام به دوستان من این مقاله رو از این ادرس http://hamkelasy.com/files/javascript_tips_for%20asp.pdf
گرفتم


تولید یک watermark textbox

هدف اصلی از یک watermark (متن سایه دار) فراهم کردن اطلاعاتی برای کاربر درباره textbox بدون به هم ریختن ظاهر صفحه است. شما ممکن است که موارد زیادی از این قبیل را در search textboxes ، در سایت ها دیده باشید. زمانی که یک watermarked textbox خالی باشد ، آن عبارتی را به کاربر نشان می دهد و زمانی که کاربر متنی را در textbox وارد می کند ، آن عبارت ناپدید می شود. زمانی که کابر این نوع از textbox ها را خالی رها می کند ، آن عبارت دوباره برخواهد گشت.


شما می توانید به راحتی این رفتارها را به یک textbox با استفاده از اضافه کردن دو رویداد onfocuse و onblur ، اضافه کنید. در رویداد focus باید مقدار داخل textbox را اگر با مقدار متن watermark ، یکی باشد پاک می کند و در رویداد blur ، اگر مقدار داخل textbox خالی باشد ، مقدار داخل آن باید با مقدار watermark پر شود.





<%@ Page Language="C#" AutoEventWireup="true" CodeFile="waterMark.aspx.cs" Inherits="waterMark" %>


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">


<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>Untitled Page</title>
<script language="javascript" type="text/javascript">
function WatermarkFocus(txtElem, strWatermark) {
if (txtElem.value == strWatermark) txtElem.value = '';
}
function WatermarkBlur(txtElem, strWatermark) {
if (txtElem.value == '') txtElem.value = strWatermark;
}
</script>
</head>
<body>
<form id="form1" runat="server">
<div>
<br />
<asp:TextBox ID="txtWatermark" runat="server"></asp:TextBox>
<br />
<br />
<asp:Button ID="Button1" runat="server" Text="Button" /></div>
</form>
</body>
</html>




protected void Page_Load(object sender, EventArgs e)
{
string strWatermark = "Search Karamasoft.com";
txtWatermark.Text = strWatermark;
txtWatermark.Attributes.Add("onfocus", "WatermarkFocus(this, '" + strWatermark + "');");
txtWatermark.Attributes.Add("onblur", "WatermarkBlur(this, '" +
strWatermark + "');");
}


اما وقتی مثلا بر روی دگمه کد زیر رو می نویسیم تا متن داخل txtwatermark رو که مثلا داخلش hello رو تایپ کردیم ، داخل یک متغییر string بریزه باز دوباره همون Search Karamasoft.com رو داخلش میریزه


protected void Button1_Click(object sender, EventArgs e)
{
string test = txtWatermark.Text;
}

کسی اگه مشکلشو می دونه بگه

mo.esmp
شنبه 26 آذر 1390, 13:57 عصر
اینو بذارید:
protected void Page_Load(object sender, EventArgs e)
{
if(!Page.IsPostBack)
{
string strWatermark = "Search Karamasoft.com";
txtWatermark.Text = strWatermark;
txtWatermark.Attributes.Add("onfocus", "WatermarkFocus(this, '" + strWatermark + "');");
txtWatermark.Attributes.Add("onblur", "WatermarkBlur(this, '" +
strWatermark + "');");
}}

malaki.davud
شنبه 26 آذر 1390, 14:43 عصر
ممنون کار کرد :قلب::تشویق:

sobhan5968
شنبه 26 آذر 1390, 14:59 عصر
دوست عزیز شما برای واترمارک کردن تکست باکس و خیلی از کارهای دیگه از جمله افکت ها و منو های اکاردئونی میتونید از Ajax Control Toolkit استفاده کنید که امکانات زیادی هم داره .