z
8 ماه پیش توسط z مطرح شد
2 پاسخ

تغییر زبان کیبورد انگلیسی یا فارسی در input با javascript

سلام دوستان
برای تغییر زبان بدون استفاده از کیبورد با استفاده از این لینک انجام دادم .
اما مشکل اینجاست زمانی که با کد های جاوا اسکیریپت input اضافه میکنم دیگه این قسمت مربوط به فارسی انگلیسی کار نمیکنه


ثبت پرسش جدید
مهدی نظری
تخصص : توسعه دهنده Front End
@mahdi.nazari 8 ماه پیش مطرح شد
0

سلام 🖐
امیدوارم حالت خوب و عالی باشی🙏

این روشی که استفاده کردی چون مرورگرا بروز شدن و تغییرات درونش رخ داده دیگه کار نمیکنه زیاد
اما میتونی از متود Input Method Editor (IME) استفاده کنی یعنی چطوری ؟

خود اینپوت پارامتری هایی رو طبق کدهایی که برات میزارم میگیرن و بهتره که تستشون کنی

<input type="text" lang="fa" />
<textarea lang="fa"></textarea>

اگه این جواب نبود میتونی از jquery استفاده کنی و راه حل و کداشم به این شکله که باید یخورده کاستومشون کنی همین 😊

<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
<input type="text" id="myTextbox" />

<script>
$(document).ready(function() {
    $("#myTextbox").on("keypress keydown", function(event) {
        var isPersianInput = /[\u0600-\u06FF]/.test(event.key);
        var isEnglishKeyboard = event.location === KeyboardEvent.DOM_KEY_LOCATION_STANDARD;

        if (isEnglishKeyboard && isPersianInput) {
            // تبدیل حرف انگلیسی به حرف فارسی
            event.preventDefault();
            var persianChar = convertToPersianChar(event.key);
            $(this).val($(this).val() + persianChar);
        }
    });

    // تابع تبدیل حرف انگلیسی به حرف فارسی
    function convertToPersianChar(englishChar) {
        // مثال: اضافه کردن توابع تبدیل حرف به حرف فارسی در اینجا

        // مثلا: return persianCharMap[englishChar] || englishChar;
    }
});
</script>

امیدوارم پاسخم بهت کمک کرده باشه ❤️
موفق و پیروز باشی 🤘🌹


Pouria
تخصص : developer
@pouria.782 8 ماه پیش مطرح شد
1

سلام.
نیاز دقیقتون نمیدونم چیه ولی تا جایی که اطلاع دارم امکان تغییر زبان سیستم توسط جاوا اسکریپت به صورت مستقیم امکان پذیر نیست. این لینک رو بررسی بکنید.
میتونید یک آبجکت داشته باشید از کلمات انگلیسی روی کیبورد و جایگزینشون با فارسی ، البته نیازه که شرط های بیشتری رو رعایت بکنید تا خروجی مورد نظرتون این صرفا یک سمپل هستش.
اتریبوینت lang صرفا برای اینکه به مرورگر برسونه مقدار تایپ شده داخل این اینپوت به چه زبانی هست تا مواردی مثل غلط املایی ها هر چیزی وابسته به زبان دیگری رو مدیریت بکنه.


برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام