PDA

View Full Version : textbox فارسی



archi
پنج شنبه 26 شهریور 1383, 09:08 صبح
چی کار کنم به طور پیش فرض تکست باکسهای روی فرم به صورت فارسی باشد یعنی احتیاجی نباشد کاربر ctrl+shift را بزند .
ممنون

Vahid_Nasiri
پنج شنبه 26 شهریور 1383, 11:40 صبح
http://www.barnamenevis.org/forum/viewtopic.php?t=2640

Amin_tus
سه شنبه 31 شهریور 1383, 03:06 صبح
منظور با ASP.NET است نه با جاوا اسکریپت یا ASP!

Vahid_Nasiri
سه شنبه 31 شهریور 1383, 17:48 عصر
منظور همونی بود که نوشتم. فارسی کردن تکست باکس یعنی یک کار کلاینت ساید. بنابراین نه ربطی به asp دارد و نه asp.net‌ و نه هیچ زبان سمت سرور دیگری.

مهدی کرامتی
سه شنبه 31 شهریور 1383, 20:05 عصر
خوب این اسکریپت رو میشه تو تگ Textarea بکار برد، اما روی کنترلهای دات نت مثل TextBox چطور میشه از اسکریپت تایپ فارسی استفاده کرد؟

وقتی تگ اش رو اضافه میکنم موقع اجرای صفحه ایراد میگیره که این کنترل چنین Property ای نداره.

Vahid_Nasiri
سه شنبه 31 شهریور 1383, 21:10 عصر
سلام

برای فارسی کردن کنترل تکست باکس:

1- به سورس HTML مانند صفحه مراجعه کنید.
2- به بالای صفحه اسکریپت فارسی نویسی را include کنید:


<script language="javascript" src="farsi_unicode.js">
<!--
//-->
</script>

3- تگ مربوط به کنترل تکست باکس دلخواه خودتون رو پیدا کنید.
4- به تگ مربوطه موارد زیر رو اضافه کنید:


onkeypress="keyConv()" onkeydown="FKeyDown()"

یعنی برای مثال در نهایت می شود:


<asp:textbox onkeypress="keyConv()" id="txtSubject" dir="rtl" onkeydown="FKeyDown()" runat="server" MaxLength="69" Width="502px" CssClass="forms"></asp:textbox>

ممکن است ادیتور (و نه زمان اجرا) ، زیر رخدادگردان های onkeypress خط قرمز بکشد. مهم نیست! چون تکست باکس در زمان اجرا به عناصر استاندارد HTML رندر می شود. بنابراین در زمان اجرا حتما کار می کند.

Vahid_Nasiri
سه شنبه 31 شهریور 1383, 21:16 عصر
البته روش فوق ، روش دستی اضافه کردن تگ های مربوطه به کنترل است (روش سنتی).
روش مدرنی هم در ASP.NET دارد:


txtBox1.Attributes.Add("onkeypress" , "keyConv()");

به این صورت در زمان اجرا به رخداد گردان onkeypress مقدار مشخص شده را نسبت می دهد.