Material Design Lite (MDL) ফ্রন্ট-এন্ড ফ্রেমওয়ার্কের সাথে ফর্ম সাবমিশন এবং ডেটা হ্যান্ডলিং পরিচালনা করা একটি সাধারণ এবং কার্যকরী প্রক্রিয়া। MDL এর ফর্ম কম্পোনেন্ট এবং HTML5 form elements এর সাথে ইন্টিগ্রেট করে, আপনি একটি সিম্পল, আধুনিক এবং ইউজার ফ্রেন্ডলি ফর্ম তৈরি করতে পারবেন।
এখানে, আমরা MDL ব্যবহার করে ফর্ম সাবমিশন এবং ডেটা হ্যান্ডলিং করার পদ্ধতি এবং টিপস আলোচনা করব।
MDL ফর্ম কম্পোনেন্টস
MDL বেশ কিছু প্রাক-ডিফাইনড ফর্ম উপাদান প্রদান করে, যেমন টেক্সট ফিল্ডস, সিলেক্ট মেনু, চেকবক্স, রেডিও বাটনস, টেক্সট এরিয়া, এবং বাটন। এগুলি Material Design এর স্টাইল অনুসারে সাজানো থাকে এবং ব্যবহারকারীর অভিজ্ঞতা উন্নত করতে সহায়ক।
MDL ফর্ম কম্পোনেন্টের উদাহরণ
১. টেক্সট ফিল্ড
<div class="mdl-textfield mdl-js-textfield mdl-textfield--floating-label">
<input class="mdl-textfield__input" type="text" id="sample1">
<label class="mdl-textfield__label" for="sample1">Your Name</label>
</div>
এটি একটি টেক্সট ইনপুট ফিল্ড তৈরি করবে যা floating label স্টাইল অনুসরণ করে। যখন ব্যবহারকারী ইনপুট দেয়, লেবেলটি ইনপুট ফিল্ডের উপরে চলে যাবে।
২. সিলেক্ট মেনু
<div class="mdl-textfield mdl-js-textfield mdl-textfield--floating-label">
<select class="mdl-textfield__input" id="sample2">
<option value="1">Option 1</option>
<option value="2">Option 2</option>
<option value="3">Option 3</option>
</select>
<label class="mdl-textfield__label" for="sample2">Choose an Option</label>
</div>
এটি একটি সিলেক্ট মেনু তৈরি করবে যেখানে ব্যবহারকারী একটি অপশন নির্বাচন করতে পারবে।
৩. চেকবক্স
<label class="mdl-checkbox mdl-js-checkbox mdl-js-ripple-effect" for="checkbox-1">
<input type="checkbox" id="checkbox-1" class="mdl-checkbox__input">
<span class="mdl-checkbox__label">Accept Terms</span>
</label>
এটি একটি চেকবক্স তৈরি করবে যা ব্যবহারকারী টিক চিহ্ন করতে পারে।
৪. রেডিও বাটন
<label class="mdl-radio mdl-js-radio mdl-js-ripple-effect" for="option-1">
<input type="radio" id="option-1" class="mdl-radio__button" name="options" value="1" checked>
<span class="mdl-radio__label">Option 1</span>
</label>
এটি একটি রেডিও বাটন তৈরি করবে যা একাধিক অপশন থেকে একটি নির্বাচন করার সুযোগ দেয়।
৫. সাবমিট বাটন
<button type="submit" class="mdl-button mdl-js-button mdl-button--raised mdl-button--colored">
Submit
</button>
এটি একটি সাবমিট বাটন তৈরি করবে যা ফর্ম ডেটা পাঠানোর জন্য ব্যবহৃত হবে।
ফর্ম সাবমিশন এবং ডেটা হ্যান্ডলিং
MDL ফ্রেমওয়ার্ক শুধুমাত্র ফর্ম কম্পোনেন্ট প্রদান করে না, বরং আপনি ফর্ম সাবমিশন এবং ডেটা হ্যান্ডলিং এর জন্য JavaScript ব্যবহার করতে পারেন। সাধারণত, MDL এর ফর্ম ডেটা হ্যান্ডলিং করার জন্য AJAX অথবা সাধারণ form submission পদ্ধতি ব্যবহার করা হয়। এখানে আমরা কিছু প্রাথমিক ফর্ম সাবমিশন পদ্ধতি দেখাব।
১. ফর্ম সাবমিশন (সাধারণ HTML ফর্ম)
<form action="/submit" method="POST">
<div class="mdl-textfield mdl-js-textfield mdl-textfield--floating-label">
<input class="mdl-textfield__input" type="text" id="name" name="name" required>
<label class="mdl-textfield__label" for="name">Your Name</label>
</div>
<button type="submit" class="mdl-button mdl-js-button mdl-button--raised mdl-button--colored">
Submit
</button>
</form>
এই ফর্মটি একটি সাধারণ HTML ফর্ম যেখানে ব্যবহারকারী নাম ইনপুট করবে এবং তারপর submit বাটন টিপে ডেটা পাঠাবে।
২. AJAX ব্যবহার করে ফর্ম সাবমিশন
AJAX ব্যবহার করে আপনি ফর্ম ডেটা সাবমিট করতে পারেন এবং পৃষ্ঠার রিফ্রেশ ছাড়া সার্ভারে ডেটা পাঠাতে পারেন।
<form id="contact-form">
<div class="mdl-textfield mdl-js-textfield mdl-textfield--floating-label">
<input class="mdl-textfield__input" type="text" id="name" name="name" required>
<label class="mdl-textfield__label" for="name">Your Name</label>
</div>
<button type="submit" class="mdl-button mdl-js-button mdl-button--raised mdl-button--colored">
Submit
</button>
</form>
<script>
document.getElementById('contact-form').addEventListener('submit', function(event) {
event.preventDefault(); // Prevent default form submission
const formData = new FormData(this);
// Send data using fetch (AJAX)
fetch('/submit', {
method: 'POST',
body: formData
})
.then(response => response.json())
.then(data => alert('Form submitted successfully!'))
.catch(error => console.error('Error:', error));
});
</script>
এখানে, ফর্মটি AJAX ব্যবহার করে সাবমিট হচ্ছে, যা পেজ রিফ্রেশ ছাড়াই ডেটা পাঠায় এবং রেসপন্স পেলে ইউজারকে সফলতার বার্তা দেখায়।
৩. ফর্ম ভ্যালিডেশন
MDL ফর্মগুলোর সাথে HTML5 form validation স্বয়ংক্রিয়ভাবে কাজ করে, যেমন ইনপুট ফিল্ডে required, pattern এবং maxlength অ্যাট্রিবিউট ব্যবহার করলে, ব্যবহারকারী সঠিক তথ্য প্রদান না করলে তা সতর্ক করবে।
উদাহরণ:
<div class="mdl-textfield mdl-js-textfield mdl-textfield--floating-label">
<input class="mdl-textfield__input" type="email" id="email" name="email" required>
<label class="mdl-textfield__label" for="email">Your Email</label>
</div>
এখানে, required অ্যাট্রিবিউট ব্যবহার করা হয়েছে, যা নিশ্চিত করবে যে ব্যবহারকারী ইমেল ঠিকমতো প্রদান করেছেন।
সারাংশ
Material Design Lite (MDL) ফ্রেমওয়ার্কে ফর্ম সাবমিশন এবং ডেটা হ্যান্ডলিং খুবই সহজ এবং কার্যকরী। MDL এর প্রাক-ডিফাইনড ফর্ম কম্পোনেন্টগুলো, যেমন টেক্সট ফিল্ড, সিলেক্ট মেনু, চেকবক্স এবং বাটন, ব্যবহার করে আপনি দ্রুত একটি সুন্দর এবং ফাংশনাল ফর্ম তৈরি করতে পারেন। AJAX ব্যবহার করে আপনি ডেটা সাবমিট করতে পারেন এবং পৃষ্ঠার রিফ্রেশ ছাড়াই সার্ভারে ডেটা পাঠাতে পারেন। এছাড়াও, HTML5 ফর্ম ভ্যালিডেশন ফিচারের মাধ্যমে আপনি ব্যবহারকারীর ইনপুট যাচাই করতে পারেন। MDL ব্যবহার করে ফর্ম সাবমিশন এবং ডেটা হ্যান্ডলিং সহজ এবং আকর্ষণীয়ভাবে করা যায়।
Read more