PDA

View Full Version : نمایش کد کلید با جاوااسکریپت



amirafshari
چهارشنبه 26 مرداد 1390, 14:32 عصر
سلام
یه کد جاوا اسکریپت از یه پی دی اف آموزشی گرفتم.می خواستم با این برنامه کد هر کلیدی که فشار داده میشه توی تکست باکس نشون بده.اما کار نمیکنه.میتونید راهنمایی کنید مشکل از کجاست؟
ممنون میشم.:افسرده:

<script >
function funKeyCode()
{
var key= window.event.keycode;
inCode.value=key;
}
document.onkeypress=funKeyCode;
</script>
<input name="inCode" type="text" value="" size="5" readonly>

hossin.esm
چهارشنبه 26 مرداد 1390, 17:19 عصر
سلام
مشکل این هست که حرف C از keyCode را باید بزرگ باشه که شما به صورت کوچیک نوشتید
در ضمن این کد توی فایرفاک کار نمیکنه برای ین که کار کنه از کد زیر استفاده کنید.
<script >
function funKeyCode(e)
{
var key;
if(window.event)
key=window.event.keyCode
else
key=e.which

alert(key);
inCode.value=key;
}
document.onkeypress=funKeyCode;
</script>
<input name="inCode" id="inCode" type="text" value="" size="5" readonly>

amirafshari
پنج شنبه 27 مرداد 1390, 13:41 عصر
سلام
مشکل این هست که حرف C از keyCode را باید بزرگ باشه که شما به صورت کوچیک نوشتید
در ضمن این کد توی فایرفاک کار نمیکنه برای ین که کار کنه از کد زیر استفاده کنید.
<script >
function funKeyCode(e)
{
var key;
if(window.event)
key=window.event.keyCode
else
key=e.which

alert(key);
inCode.value=key;
}
document.onkeypress=funKeyCode;
</script>
<input name="inCode" id="inCode" type="text" value="" size="5" readonly>


ممنون دوست عزیز
کدی که زحمت کشیدی امتحان کردم.اما کد یه مشکلی داره:
اونم اینه که فقط خط alert برای نمایش کد کلید کار می کنه و توی تکست باکس هیچی نوشته نمیشه.حتی وقتی کلاٌ حذفش می کنم هیچ تغییری در روال ایجاد نمیشه.در ضمن اگه توضیح بدی متد which چیکار می کنه ممنون میشم؟منظور اینه که کد هرکلیدی که فشار داده شدتوی متغیر key بریزه؟

در ضمن توی فایر فاکس می خوام وقتی کد کلید رو نمایش داد(وقتی alert میکنه) بعد از فشردن دکمه ok دیگه نیاز نباشه اول روی صفحه با موس کلیک کنی.تا بتونی کلید جدید رو فشار بدی.وقتی روی ok کلیک می کنم باید یه بار هم روی صفحه کلیک کنم تا کد کلیدی که فشار میدم بده.از متد focus هم استفاده کردم اما نشد.(شاید درست استفاده نکردم). راهنماییم کنی خیلی خیلی ممنون میشم

hossin.esm
شنبه 29 مرداد 1390, 16:59 عصر
سلام
من این ها رو تست کردم مشکلی نداشت البته با فایر فاکس 4 و IE8
در رابطه با which در فایر فاکس کد کلید به جای keyCode در which قرار میگیرد .و همچنین در فایرفاکس event به صورت پارامتر به تابع ارسال میشود(e) .
برای همین در کد بالا اول window.event را چک کردیم اگر مقدار دهی شده بود کد کلید را از window.event.keyCode میگیرد. در غیر این صورت کد را از e.which