PDA

View Full Version : تغییر زبان textbox / حرکت بین textbox با دکمه enter / فهمیدن اینکه الان کدام دکمه فشرده شده است



fafa_na
سه شنبه 13 تیر 1391, 12:23 عصر
باسلام
من چند تا سوال با هم دارم
1.تغییر زبان textbox به این صورت که اگه لازم فیلد من نام باشه بصورت اتوماتیک فارسی بشه و اگه قرار ایمیل باشه خودش انگلیسی بشه
2-حرکت بین textbox با دکمه enter به اینصورت که با فشردن دکمه اینتر به بعدی بره مثل کاری که تب انجام میده
3-فهمیدن اینکه الان کدام دکمه فشرده شده است یعنی الان اینتر فشرده شده یا دکمه ب یا ..
ممنون میشم راهنمای کنید

pejman_view
سه شنبه 13 تیر 1391, 16:43 عصر
سلام

تمام این موارد بر می گردند به سطح آشنایی شما با جاوا اسکریپت:
سوال 2 و 3 شما را با یک مثال جواب می دم:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
<title>Test</title>
</head>
<script>
function checkEnter(nextFieldID,e){
var characterCode;
if(e && e.which){
e = e;
characterCode = e.which ;
}else {
e = e;
characterCode = e.keyCode;
}
if(characterCode == 13){
document.getElementById(nextFieldID).focus();
return false ;
}else{
return true;
}
}

</script>
<body>
<input type="text" id="testfield" onkeyup="checkEnter('nextID',event)"/>
<input type="text" id="nextID" onkeyup="checkEnter('nextID2',event)"/>
<input type="text" id="nextID2" onkeyup="checkEnter('',event)"/>
</body>
</html>
نگاه کنید الان عدد 13 نشان دهنده زدن اینتر است. و می توانید در فایر باگ با نوشتن این کد ببینید وظیفه هر دکمه چیست:


document.onkeyup= function(myEvent) {
console.log(myEvent.which);
};


خروجی برای B عدد 66 بود.

برای سوال 1 هم آن هم آسونه اگر قراره فارسی بنویسیم مثلاً نام : dir="rtl" را بعنوان attribute ان المنت استفاده کنید:

<input type="text" dir="rtl" id="testfield" onkeyup="checkEnter('nextID',event)"/>

MMSHFE
سه شنبه 13 تیر 1391, 20:26 عصر
و ضمناً تمام این موارد به PHP مربوط نمیشن. لطفاً سؤالتون رو توی اون تالار مطرح کنید. موفق باشید.

fafa_na
چهارشنبه 14 تیر 1391, 08:02 صبح
ممنون از راهنمای فوق العادتون مهندس
فقط یه مشکلی پیش آمد من وقتی از این کد استفاده میکنم بدلیل اینکه در فرمم یک دکمه دارم وقتی ماوس به تکس بعدی میره کد مربوط به فشردن دکمه من اجرا میشه اگه راهنمایی کنید ممنون میشم
راستی من میخوام زبان صفحه کلیدم فارسی بشه مهندی نه اینکه از راست به چپ بنویسم
اگه راهنمای کنید کدام تالار باید مطرح میکردم ممنون میشم
بازهم مممنون

MMSHFE
پنج شنبه 15 تیر 1391, 14:54 عصر
تالار جاوا اسکریپت