PDA

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



sh_esharif
یک شنبه 02 خرداد 1389, 10:04 صبح
دوستان عزیز سلام.
من یک صفحه ثبت نام دارم که کاربر باید اونو پر و ارسال کنه.
من می خوام در فرم این فرم نام کاربری حتما انگلیسی وارد بشه. بقیه قسمت ها، انگلیسی یا فارسی فرقی نمی کنه.
کسی می دونه باید چکار کنم؟ چند برنامه تغییر زبان جاوااسکریپتی پیدا کردم ولی برای همه سایت هستن نه برای یک کنترل.
بعضی از سایت ها هستن که موقع ورود اطلاعات می گن زبان سیستم خودتونو انگلیسی قرار بدین و فارسی تایپ می کنن. می خواستم بدونم اونا چه جورین و فیلدهایی مثل ایمیل که حتما انگلیسی هستن رو چه کار می کنن؟
ممنو ن از وقتی که می گذارین.

PhoenixNet
یک شنبه 02 خرداد 1389, 11:01 صبح
میتونی از کنترل RegularExpressionValidator استفاده کنی.



<asp:RegularExpressionValidatorID="RegularExpressionValidator1"runat="server"
ControlToValidate="TextBox1"ErrorMessage="RegularExpressionValidator"
ValidationExpression="^.*([1-9a-zA-Z])"></asp:RegularExpressionValidator>
<asp:TextBoxID="TextBox1"runat="server"></asp:TextBox>



ValidationExpression="^.*([1-9a-zA-Z])"

یعنی تمام حروف بزرگ و کوچک انگلیسی به علاوه اعداد انگلیسی.

sh_esharif
یک شنبه 02 خرداد 1389, 11:23 صبح
ممنون از جوابتون.
به جز این راه، می دونم راهی داره که بشه فقط برای یک کنترل زبان رو عوض کرد.

PhoenixNet
یک شنبه 02 خرداد 1389, 11:54 صبح
خواهش

با جاوا اسکریپت هم میشه.

اول این فایل جاوا اسکریپت رو به صفحه اضافه کن.
http://www.barnamenevis.org/forum/attachment.php?attachmentid=49513&stc=1&d=1274597508

اگه میخوای جعبه متنت فارسی باشه



<asp:TextBox ID="TextBox1" lang="fa" runat="server"></asp:TextBox>


اگه میخوای انگلیسی باشه


<asp:TextBox ID="TextBox1" lang="en" runat="server"></asp:TextBox>

sh_esharif
یک شنبه 02 خرداد 1389, 13:18 عصر
کاری که نوشتید رو انجام دادم.
فایل جاوااسکریپت رو بعد از تگ </HTML> اضافه کردم و ویژگی lang = en رو به کنترل TextBox اضافه کردم ولی وقتی زبان سیستم فارسی باشه، انگلیسی تایپ نمی کنه. میشه کاری کرد که در هر صورت در این کنترل انگلیسی تایپ بشه؟

پاسخ شما جواب سوال دوم من بود که از این بابت تشکر ویژه می کنم.

mohitlog
یک شنبه 02 خرداد 1389, 13:46 عصر
سلام

میتونی یک فایل جاوا اسکریپت بنویسی و کدهای a-z و A-Z را بدست بیاری و در متد لود برنامه
این تابع رو به keypress تکست باکست نسبت بدی


من تابع ورود اعداد رو برات میزارم خودت میتونی تغییرش بدی

function onlyNumbers(evt)
{
var e = event || evt; // for trans-browser compatibility
var charCode = e.which || e.keyCode;

if (charCode > 31 && (charCode < 48 || charCode > 57))
return false;

return true;

}
تابع بالا فقط اجازه میده که عدد رو توی تکست باکست بنویسی



حالا باید توی متد لود صفحت این کد رو اضافه کنی


protected void Page_Load(object sender, EventArgs e)
{
txtname.Attributes.Add("onkeypress", "return onlyNumbers(event)");
}

sh_esharif
دوشنبه 03 خرداد 1389, 15:32 عصر
راه دیگه ای؟

SunRise
دوشنبه 03 خرداد 1389, 16:01 عصر
با سلام میتونید از javascript استفاده کنید و در onkeypress کنترل رو انجام بدید

taghvajou
دوشنبه 03 خرداد 1389, 16:47 عصر
در مجموع دسترسی به سیستم نداریم که بخوایم زبان خود سیستم رو عوض کنیم. حتما با کد های کلید کار کنیم.