PDA

View Full Version : نوشتن داخل تکس باکس قبل نوشتن کاربر



mohsen200162
یک شنبه 12 آذر 1391, 01:18 صبح
سلام
می خوام وقتی بازدید کنده صفحه تماس با ما رو بیاره داخل هر تکس باکس نوشته باشد مثلا ایمیل را وارد کنید و . . .
وقتی بازدید کننده بر روی ان تکس باکس کلید کرد نوشته پاک شود تا بازدید کننده بتواند تایپ کند
ممنون

p.parsaee
یک شنبه 12 آذر 1391, 06:11 صبح
سلام



<asp:TextBox ID="txtEmail" runat="server" placeholder="ایمیل خود را وارد کنید"></asp:TextBox>


البته توی مرورگرهای قدیمی جواب نمیده

Mohamad1362
یک شنبه 12 آذر 1391, 08:18 صبح
از JQuery هم می تونی استفاده کنی ، اول کتابخونشو تو صفحه ات اضافه کن ، بعد زیرش این کد رو بنویس :
<script type="text/javascript">
$(document).ready(function () {
$('#<%=TextBox1.ClientID%>').blur(function () {
if (this.value == '') this.value = 'ایمیل را وارد کنید';
});
$('#<%=TextBox1.ClientID%>').focus(function () {
if (this.value == 'ایمیل را وارد کنید') this.value = '';
});
});
</script>

malloc
یک شنبه 12 آذر 1391, 10:54 صبح
از JQuery هم می تونی استفاده کنی ، اول کتابخونشو تو صفحه ات اضافه کن ، بعد زیرش این کد رو بنویس :
<script type="text/javascript">
$(document).ready(function () {
$('#<%=TextBox1.ClientID%>').blur(function () {
if (this.value == '') this.value = 'ایمیل را وارد کنید';
});
$('#<%=TextBox1.ClientID%>').focus(function () {
if (this.value == 'ایمیل را وارد کنید') this.value = '';
});
});
</script>

دوست عزیز یعنی من برای هر تکست باکس باید یه بار کله این دستورات و تکرار کنم ؟؟؟؟ آخه بعضی از صفحات 10-20 تا تکست باکس دارن!!!

نمیشه یجوری همینو نوشت که فقط یکبار این تابع نوشته بشه و....

r_s1389@yahoo.com
یک شنبه 12 آذر 1391, 11:57 صبح
سلام
شما کیتونید از تکس باکس کامپوننت دات نت بار استفاده کنید و نیازی به نوشتن کد نیست
در خصوصیات آنن وجود دارد

malloc
یک شنبه 12 آذر 1391, 12:49 عصر
سلام
شما کیتونید از تکس باکس کامپوننت دات نت بار استفاده کنید و نیازی به نوشتن کد نیست
در خصوصیات آنن وجود دارد

این کامپوننت ها رو از کجا پیدا کنم و ضمنا آیا رایگان هستن یا باید کرکشون کرد؟؟؟

r_s1389@yahoo.com
یک شنبه 12 آذر 1391, 12:50 عصر
آره رایگان هستند و اگر تو تالار یا در گوگل سرچ کنی پیدا میکنی

ya30ien2
یک شنبه 12 آذر 1391, 19:15 عصر
چرا از روش زیر که یکی از دوستان گفتن استفاده نمیکنید ؟

<asp:TextBox ID="txtEmail" runat="server" placeholder="ایمیل خود را وارد کنید"></asp:TextBox>

malloc
یک شنبه 12 آذر 1391, 19:55 عصر
چرا از روش زیر که یکی از دوستان گفتن استفاده نمیکنید ؟

<asp:TextBox ID="txtEmail" runat="server" placeholder="ایمیل خود را وارد کنید"></asp:TextBox>

کار نمیکنه . من همینو عینا کپی کردم هیچ کاری نکرد؟؟؟

چیزه دیگه ای( جای دیگه) باید بنویسم؟؟

fakhravari
یک شنبه 12 آذر 1391, 20:07 عصر
این
<script type="text/javascript">

function ChangedByFocus(textboxID) {
var textbox = document.getElementById(textboxID);
if (textbox.value == "نام کاربری") {
textbox.value = "";
}
}
function ChangedByBlur(textboxID) {
var textbox = document.getElementById(textboxID);
if (textbox.value == "") {
textbox.value = "نام کاربری";
}

}
</script>
<asp:TextBox ID="TextBox2" runat="server" onfocus="ChangedByFocus(this.id)" onblur="ChangedByBlur(this.id)">نام کاربری</asp:TextBox>

یا
<asp:TextBox class="txt" runat="server" ID="txtUserName" TextMode="SingleLine" onfocus="if(this.value =='نام کاربری' ) this.value=''"
Width="150px" onblur="if(this.value=='') this.value='نام کاربری'" Text="نام کاربری" />
یا کامپوننت تلریک

malloc
یک شنبه 12 آذر 1391, 20:30 عصر
خوب دوست عزیز تو این 3 تا روشی که گفتی روش اول بهتره . فقط نکته اینجاست که میشه یکاری کرد که مقدار Value هم به تابع پاس داده بشه تا با فقط یکبار نوشتن این تابع، تابع برای هر تکس باکسی قابل اجرا باشه

یعنی مثلا مثل زیر تابع رو فراخونی کنیم :

<asp:TextBox ID="TextBox2" runat="server" onfocus="ChangedByFocus(this.id,نام کاربری)" onblur="ChangedByBlur(this.id,نام کاربری)"></asp:TextBox>
اگه میشه یه همچین کاری کرد مثالشو مینویسید واسم./؟

اگه منظورمو متوجه نشدید بگید کاملتر توضیح بدم

fakhravari
یک شنبه 12 آذر 1391, 21:23 عصر
فایل ضمیمه ببین.

ya30ien2
یک شنبه 12 آذر 1391, 22:49 عصر
کار نمیکنه . من همینو عینا کپی کردم هیچ کاری نکرد؟؟؟

چیزه دیگه ای( جای دیگه) باید بنویسم؟؟

برای من که کار میکنه
احتیاج به چیز دیگه ای هم نداره !!!!

ali9698
دوشنبه 13 آذر 1391, 14:13 عصر
خوب دوست عزیز تو این 3 تا روشی که گفتی روش اول بهتره . فقط نکته اینجاست که میشه یکاری کرد که مقدار Value هم به تابع پاس داده بشه تا با فقط یکبار نوشتن این تابع، تابع برای هر تکس باکسی قابل اجرا باشه

یعنی مثلا مثل زیر تابع رو فراخونی کنیم :

<asp:TextBox ID="TextBox2" runat="server" onfocus="ChangedByFocus(this.id,نام کاربری)" onblur="ChangedByBlur(this.id,نام کاربری)"></asp:TextBox>
اگه میشه یه همچین کاری کرد مثالشو مینویسید واسم./؟

اگه منظورمو متوجه نشدید بگید کاملتر توضیح بدم
این کار رو هم میشه انجام داد. فقط باید تابع جاوا دو تا ورودی داشته باشه

ali9698
دوشنبه 13 آذر 1391, 14:14 عصر
این کامپوننت ها رو از کجا پیدا کنم و ضمنا آیا رایگان هستن یا باید کرکشون کرد؟؟؟

ajax toolkit control رو دانلود کنید و توی toolbox اضافه کنید و از textbox watermark extender استفاده کنید. رایگانه

ali9698
دوشنبه 13 آذر 1391, 14:19 عصر
کار نمیکنه . من همینو عینا کپی کردم هیچ کاری نکرد؟؟؟

چیزه دیگه ای( جای دیگه) باید بنویسم؟؟
منم قبلا تست کردم. احتمالا یا اشتباه نوشتین یا از مرورگرهای قدیمی استفاده کردین
من با mozilla12 تست کردم

saeed_sho
دوشنبه 13 آذر 1391, 18:18 عصر
این
<script type="text/javascript">

function ChangedByFocus(textboxID) {
var textbox = document.getElementById(textboxID);
if (textbox.value == "نام کاربری") {
textbox.value = "";
}
}
function ChangedByBlur(textboxID) {
var textbox = document.getElementById(textboxID);
if (textbox.value == "") {
textbox.value = "نام کاربری";
}

}
</script>
<asp:TextBox ID="TextBox2" runat="server" onfocus="ChangedByFocus(this.id)" onblur="ChangedByBlur(this.id)">نام کاربری</asp:TextBox>

یا
<asp:TextBox class="txt" runat="server" ID="txtUserName" TextMode="SingleLine" onfocus="if(this.value =='نام کاربری' ) this.value=''"
Width="150px" onblur="if(this.value=='') this.value='نام کاربری'" Text="نام کاربری" />
یا کامپوننت تلریک
آقای فخرآوری من از روش دوم استفاده کردم منتها موقع لود صفحه چیزی نشون نمیده باید یه بار فوکوس رو به تکست باکس بدیم بعد که فوکوس رو ازش گرفتیم متنو نشون میده

ali9698
دوشنبه 13 آذر 1391, 19:53 عصر
آقای فخرآوری من از روش دوم استفاده کردم منتها موقع لود صفحه چیزی نشون نمیده باید یه بار فوکوس رو به تکست باکس بدیم بعد که فوکوس رو ازش گرفتیم متنو نشون میده

احتمالا خصوصیت Text رو مقداردهی نکردید

saeed_sho
چهارشنبه 15 آذر 1391, 18:17 عصر
درسته مقدار تکست رو نداده بودم