সিএসএস ব্যবহার করা text-transform: uppercaseপ্রকৃত ইনপুট পরিবর্তন করে না তবে কেবল তার চেহারা পরিবর্তন করে। আপনি যদি কোনও সার্ভারে ইনপুট ডেটা প্রেরণ করেন তবে এটি এখনও ছোট হাতের কাছে চলেছে বা আপনি এটি প্রবেশ করলে। প্রকৃতপক্ষে ইনপুট মানটি রূপান্তর করতে আপনাকে নীচে জাভাস্ক্রিপ্ট কোড যুক্ত করতে হবে:
document.querySelector("input").addEventListener("input", function(event) {
event.target.value = event.target.value.toLocaleUpperCase()
})
<input>
এখানে আমি toLocaleUpperCase()রূপান্তর করতে ব্যবহার করছিinput মানকে বড়হাতে । আপনি যেটি প্রবেশ করেছেন তার সম্পাদনা করার আগ পর্যন্ত এটি ঠিক কাজ করে, যেমন আপনি যদি এবিসিএক্সওয়াইজেড প্রবেশ করে এবং এখন আপনি এটি এবিসিএলএমএনএক্সজেডে পরিবর্তন করার চেষ্টা করেন, এটি এবিসিএলএক্সএইজেডএমএন হয়ে যাবে কারণ প্রতিটি ইনপুট পরে কার্সারটি শেষ পর্যন্ত লাফিয়ে যায়।
কার্সারের এই জাম্প কাটিয়ে উঠতে আমাদের ফাংশনে নিম্নলিখিত পরিবর্তনগুলি করতে হবে:
document.querySelector("input").addEventListener("input", function(event) {
var input = event.target;
var start = input.selectionStart;
var end = input.selectionEnd;
input.value = input.value.toLocaleUpperCase();
input.setSelectionRange(start, end);
})
<input>
এখন সবকিছু প্রত্যাশা মতো কাজ করে, তবে আপনার ধীর পিসি থাকলে আপনি টাইপ করার সাথে সাথে আপনি ছোট হাত থেকে বড় হাতের দিকে ছোট ছোট পাঠ্য দেখতে পাবেন। যদি এটি আপনাকে বিরক্ত করে, এই সময়টি সিএসএস ব্যবহারের সময়, input: {text-transform: uppercase;}সিএসএস ফাইলে প্রয়োগ করুন এবং সবকিছু ঠিকঠাক হবে।