PDA

View Full Version : سوال: تغییر زبان صفحه کلید



zari_attari
سه شنبه 25 خرداد 1389, 16:48 عصر
میخوام توی سایتم این امکان باشه که:
بدون اینکه زبان صفحه کلید عوض بشه در بعضی textboxها فارسی نوشته بشه.
این از کد جاوا استفاده میکنه یا اینکه کامپوننت داره؟؟؟؟

naser2009
سه شنبه 25 خرداد 1389, 17:14 عصر
سلام دوسته من
اون کد جاواست

<script type="text/javascript" language="javascript">
var farsi = true ;
var s = new Array(32,33,34,35,36,37,1548,1711,41,40,215,43,
1608,45,46,47,48,49,50,51,52,53,54,55,56,
57,58,1603,44,61,46,1567,64,1616,1584,125,
1609,1615,1609,1604,1570,247,1600,1548,47,
8217,1583,215,1563,1614,1569,1613,1601,
8216,123,1611,1618,1573,126,1580,1688,
1670,94,95,1662,1588,1584,1586,1610,1579,
1576,1604,1575,1607,1578,1606,1605,1574,
1583,1582,1581,1590,1602,1587,1601,1593,
1585,1589,1591,1594,1592,60,124,62,1617);
//==============================================
function change()
{

var KeyID =event.keyCode;
if(KeyID >= 128)
{
alert("تغيير دهيد EN لطفا زبان صفحه کليد را به");
event.keyCode=0;
return false;
}

if(KeyID > 47 && KeyID < 58) return true;
if(KeyID < 32)return true;
if ( KeyID>32 && KeyID<128) event.keyCode = s[KeyID-32] ;

}
</script>

برای textboxهایی که میخوایین فارسی باشن
هم کد زیر رو به تگش اضافه کن
OnKeyPress="javascript:change();"

zari_attari
سه شنبه 25 خرداد 1389, 17:24 عصر
در ضمن این فقط توی IE جواب میده و با Firefoxو Opera کار نمیکنه.
علتش چیه؟؟؟

naser2009
سه شنبه 25 خرداد 1389, 17:34 عصر
ممنون جواب میده ، فقط برای اعداد هم کد جاوایی هست؟؟؟
سلام
برای سایر فیلترها از extenderهای ajax و validationهای asp مانند Regular expression استفاده کنید.

naser2009
سه شنبه 25 خرداد 1389, 17:37 عصر
در ضمن این فقط توی IE جواب میده و با Firefoxو Opera کار نمیکنه.
علتش چیه؟؟؟
نمیدونم تا حالا تست نکرده بودم اگه کدی پیدا کردید که تو مرورگرهای مختلف کار می کرد واسه منم بفرستید
naser.poorali@gmail.com:خجالت:

taghvajou
سه شنبه 25 خرداد 1389, 17:45 عصر
سلام به همه
دوست عزیز! میشه در مورد تابعی که نوشتی هم یه توضیح بدی!
من تو جاوا اسکریپت تازه کارم. اگه میشه توضیح بده که هربخش چیه و چی کار میکنه! (محض اطلاع: بنده سی شارپ هستم.)

naser2009
سه شنبه 25 خرداد 1389, 17:53 عصر
سلام به همه
دوست عزیز! میشه در مورد تابعی که نوشتی هم یه توضیح بدی!
من تو جاوا اسکریپت تازه کارم. اگه میشه توضیح بده که هربخش چیه و چی کار میکنه! (محض اطلاع: بنده سی شارپ هستم.)
تابع رو من ننوشتم از تو همین سایت پیدا کردم
ولی خوب کار خاصی نمیکنه از اونجا که javascript یه زبان کلاینت ساید است، سمت کلایت هر کلید که زده می شود توسط جاوا اسکریپت قابل پردازش است بنابراین یه آرایه از کدکلیدهایی که باید زده شوند(کد کلید های فارسی) در نظر گرفته و در تابع change هم چک میکنه ببینه صفحه کلید رو حالت EN هست و اگه نبود پیغام میده و keycode که الان فشرده شده رو چون انگلیسی هست 0 میکنه یعنی هیچ کاراکتری رو نشون نمیده و در غیر اینصورت از کد وارد شده 32 کم میکنه تا معادل فارسیش به دست بیاد.

Web.Designer01
سه شنبه 25 خرداد 1389, 18:15 عصر
میتونید از کامپوننتای telerik هم استفاده کنید،هر جور textbox که بخواید داره.

taghvajou
سه شنبه 25 خرداد 1389, 18:19 عصر
ممنون، گرفتم.
فقط این کدهای آرایه S رو از کجا میشه به دست آورد؟

taghvajou
سه شنبه 25 خرداد 1389, 18:20 عصر
استفاده از سایر کمپوننت ها هم بد نیست. ولی بهتره که خودم هم بدونم که اون تو چه خبره!

Web.Designer01
سه شنبه 25 خرداد 1389, 18:26 عصر
این فایلو دانلود کنید ، هر textBox که بخواید میتونید انتخاب کنید:

zari_attari
سه شنبه 25 خرداد 1389, 18:43 عصر
این فایلو دانلود کنید ، هر textBox که بخواید میتونید انتخاب کنید:
این خوبه ولی هر دفعه باید زبان صفحه کلید رو عوض کنی!!!!!!!!!!!!!:ناراحت:

Web.Designer01
سه شنبه 25 خرداد 1389, 18:57 عصر
این خوبه ولی هر دفعه باید زبان صفحه کلید رو عوض کنی!!!!!!!!!!!!!:ناراحت:
راستش خودمم دنبال همین میگردم، دوستان راهی هست که با رفتن فوکوس روی یه کنترل خاص مثلا یه textbox زبان سیستم عوض شه؟
مثه textboxهای سازمان سنجش

profnami
سه شنبه 25 خرداد 1389, 20:20 عصر
قبلا من در این مورد به نتایجی رسیدم :
http://forum.how2learnasp.net/ShowTopic.aspx?Code=1071
و
http://forum.how2learnasp.net/ShowTopic.aspx?Code=1843
تو همین فروم هم میگشتید خیلی مطرح شده