از اونجایی که تاحالا خیلی ها در مورد نحوه فارسی کردن فرم ها و امکان تایپ فارسی بدون فارسی نویس در input و textarea ها پرسیدن و راهنمای ساده و مفیدی در این زمینه من پیدا نکردم خواستم خودم اینو بنویسم.
قبلا یه راهنما برای فارسی کردن فرمهای comment نوشته بودم که متاسفانه چند تا هارد رو جابجا کردم و پیدا نکردم.
به هر حال این راهنما به درد افرادی میخوره که بخوان توی یه فروم تایپ فارسی بدون نیاز به فارسی نویس ویندوز داشته باشن. یعنی با این روش اگه یکی توی اونور دنیا با یه ویندوز چینی(!) بخواد توی این فرم فارسی تایپ کنه نیاز به نصب چیزی نداشته باشه.
این راهنما برای افرادی نوشته شده که در حد ابتدایی با کدهای html و نحوه کار با اونها آشنایی دارن و نیاز به اطلاعات تخصصی جاوا نداره. از طرفی اگر احساس میکنید این راهنما خیلی سخت و نا مفهوم است بهتره از خیر فارسی کردن فرم بگذرین!
هر فرم با <form> شروع میشه و با یه <form/> تموم میشه. معمولا به صورت زیر:
داخل هر فرم یه سری المان وجود داره که برای ورود اطلاعات استفاده میشه. از جمله اونها که قابلیت تایپ هم داره input و textarea است و معمولا به صورتهای زیر:
خب این یه آشنایی کلی.
در مرحله اول باید یه فایل جاوا اسکریپت که محتوی کاراکترهای فارسی است رو توی header صفحه load کنید. اسکریپتهای مختلفی شاید واسه این کار وجود داشته باشه ولی من تا بحال از این فایل که ادیتش هم آسونه استفاده میکردم. (farsix.js)
به صورت زیر که بین <header> و <header/> باید استفاده بشه:
در مرحله دوم باید بریم سراغ فرم. توی هر کدوم از input و textarea ها که نیاز به فارسی نویسی دارید باید از کد زیر استفاده کنید:
که مثلا به صورت زیر خواهند شد:
در مرحله سوم میریم سراغ نحوه ساخت یه دکمه برای تغییر زبان:
تا اینجای کار چیزی رو لازم نبود تغییر بدین و همش copy/paste بود. ولی از این به بعد باید به اسمها دقت کنید.
اینکه این دکمه رو کجا استفاده کنید دیگه به خودتون مربوطه. میتونه کنار input باشه... بالاش باشه یا هرجا ولی خب ترجیحا داخل فرم باشه.
این یه نمونه دکمه است:
باید دقت کنید که fieldname اسم اون فیلدی میشه که قراره با زدن این دکمه زبانش عوض بشه. که میتونه input باشه یا textarea فرقی نداره. به جای اون کلمه تغییر زبان هم هرچی بخواین میتونین استفاده کنید.
مرحله آخر هم که اختیاری است، نحوه ساخت دکمه های برای تغییر جهت textarea می باشد!
شما میتونید با استفاده از این دکمه ها جهت فرم رو عوض کنید. نکات مرحله قبل رو در مورد این مرحله باید رعایت کنید. به صورت زیر:
به جای اون --> یا <-- هم میتونید از هر عنوان یا علامت دیگه ای استفاده کنید. همچنین لازمه که fieldname رو درست انتخاب کنید. این نام textarea خواهد بود که این دکمه ها بر روی اون اعمال میشن.
این نکته هم برای افراد علاقمند و خوش ذوق اضافه کنم که همین کار رو میتونید روی یه عکس انجام بدین. مثلا یه icon واسه تغییر زبان بسازید و onclick رو روش اضافه کنید مثل حالت input
امیدوارم مفید بوده باشه. سوالاتتون رو همین زیر بپرسید.
قبلا یه راهنما برای فارسی کردن فرمهای comment نوشته بودم که متاسفانه چند تا هارد رو جابجا کردم و پیدا نکردم.
به هر حال این راهنما به درد افرادی میخوره که بخوان توی یه فروم تایپ فارسی بدون نیاز به فارسی نویس ویندوز داشته باشن. یعنی با این روش اگه یکی توی اونور دنیا با یه ویندوز چینی(!) بخواد توی این فرم فارسی تایپ کنه نیاز به نصب چیزی نداشته باشه.
این راهنما برای افرادی نوشته شده که در حد ابتدایی با کدهای html و نحوه کار با اونها آشنایی دارن و نیاز به اطلاعات تخصصی جاوا نداره. از طرفی اگر احساس میکنید این راهنما خیلی سخت و نا مفهوم است بهتره از خیر فارسی کردن فرم بگذرین!
هر فرم با <form> شروع میشه و با یه <form/> تموم میشه. معمولا به صورت زیر:
کد:
<form method="post" action="something" name="formname">
داخل هر فرم یه سری المان وجود داره که برای ورود اطلاعات استفاده میشه. از جمله اونها که قابلیت تایپ هم داره input و textarea است و معمولا به صورتهای زیر:
کد:
<input type="text" name="inputname" />
<textarea name="text" rows="10" cols="70">something</textarea>
خب این یه آشنایی کلی.
در مرحله اول باید یه فایل جاوا اسکریپت که محتوی کاراکترهای فارسی است رو توی header صفحه load کنید. اسکریپتهای مختلفی شاید واسه این کار وجود داشته باشه ولی من تا بحال از این فایل که ادیتش هم آسونه استفاده میکردم. (farsix.js)
به صورت زیر که بین <header> و <header/> باید استفاده بشه:
کد:
<script type="text/javascript" src="http://www.domain.com/farsix.js"></script>
در مرحله دوم باید بریم سراغ فرم. توی هر کدوم از input و textarea ها که نیاز به فارسی نویسی دارید باید از کد زیر استفاده کنید:
کد:
onkeypress="return convert(name,event)" dir="rtl"
کد:
<input type="text" name="inputname" onkeypress="return convert(name,event)" dir="rtl" />
<textarea name="text" rows="10" cols="70" onkeypress="return convert(name,event)" dir="rtl">something</textarea>
در مرحله سوم میریم سراغ نحوه ساخت یه دکمه برای تغییر زبان:
تا اینجای کار چیزی رو لازم نبود تغییر بدین و همش copy/paste بود. ولی از این به بعد باید به اسمها دقت کنید.
اینکه این دکمه رو کجا استفاده کنید دیگه به خودتون مربوطه. میتونه کنار input باشه... بالاش باشه یا هرجا ولی خب ترجیحا داخل فرم باشه.
این یه نمونه دکمه است:
کد:
<input type="button" onclick="change([color=red]fieldname[/color])" value=" تغيير زبان " />
مرحله آخر هم که اختیاری است، نحوه ساخت دکمه های برای تغییر جهت textarea می باشد!
شما میتونید با استفاده از این دکمه ها جهت فرم رو عوض کنید. نکات مرحله قبل رو در مورد این مرحله باید رعایت کنید. به صورت زیر:
کد:
<input type="button" onclick="Right(this.form.[color=red]fieldname[/color])" value=" <-- " />
<input type="button" onclick="Left(this.form.[color=red]fieldname[/color])" value=" --> " />
این نکته هم برای افراد علاقمند و خوش ذوق اضافه کنم که همین کار رو میتونید روی یه عکس انجام بدین. مثلا یه icon واسه تغییر زبان بسازید و onclick رو روش اضافه کنید مثل حالت input
امیدوارم مفید بوده باشه. سوالاتتون رو همین زیر بپرسید.