আমি জানি যে এক্সএইচটিএমএল নেস্টেড ফর্ম ট্যাগগুলিকে সমর্থন করে না এবং আমি ইতিমধ্যে এই বিষয় সম্পর্কে স্ট্যাক ওভারফ্লোতে এখানে অন্যান্য উত্তরগুলি পড়েছি, তবে আমি এখনও সমস্যার একটি মার্জিত সমাধান খুঁজে পাইনি।
কেউ কেউ বলেন যে আপনার এটির দরকার নেই এবং তারা কোনও দৃশ্যের কথা ভাবতে পারে না যদি এটির প্রয়োজন হত। ওয়েল, ব্যক্তিগতভাবে আমি একটি দৃশ্যকল্পের যে আমি মনে করতে পারেন না করেন নি এটা প্রয়োজন ছিল।
আসুন একটি খুব সাধারণ উদাহরণটি দেখুন:
আপনি একটি ব্লগ অ্যাপ তৈরি করছেন এবং একটি নতুন পোস্ট তৈরির জন্য কয়েকটি ক্ষেত্র এবং "সেভ", "মুছুন", "বাতিল" এর মতো "ক্রিয়াগুলি" সহ একটি সরঞ্জামদণ্ডের সাথে আপনার একটি ফর্ম রয়েছে।
<form
action="/post/dispatch/too_bad_the_action_url_is_in_the_form_tag_even_though_conceptually_every_submit_button_inside_it_may_need_to_post_to_a_diffent_distinct_url"
method="post">
<input type="text" name="foo" /> <!-- several of those here -->
<div id="toolbar">
<input type="submit" name="save" value="Save" />
<input type="submit" name="delete" value="Delete" />
<a href="/home/index">Cancel</a>
</div>
</form>
আমাদের উদ্দেশ্যটি এমনভাবে ফর্মটি লেখার জন্য যাতে জাভাস্ক্রিপ্টের প্রয়োজন হয় না , কেবল পুরানো এইচটিএমএল ফর্ম এবং বোতাম জমা দেওয়া।
যেহেতু অ্যাকশন URL টি ফর্ম ট্যাগে সংজ্ঞায়িত করা হয়েছে এবং প্রতিটি স্বতন্ত্র জমা দেওয়া বোতামে নয়, তাই আমাদের একমাত্র বিকল্পটি একটি জেনেরিক URL এ পোস্ট করা এবং তারপরে "যদি ... তবে ... অন্য" বোতামটির নাম নির্ধারণ করা শুরু করা হয় যা জমা দেওয়া হয়েছিল। খুব মার্জিত নয়, তবে আমাদের একমাত্র পছন্দ, যেহেতু আমরা জাভাস্ক্রিপ্টের উপর নির্ভর করতে চাই না।
একমাত্র সমস্যাটি হ'ল "মুছুন" টিপুন, সার্ভারে সমস্ত ফর্ম ক্ষেত্র জমা দেবে যদিও এই ক্রিয়াকলাপের জন্য প্রয়োজনীয় জিনিসটি পোস্ট-আইডি সহ একটি লুকানো ইনপুট। এই ছোট্ট উদাহরণটিতে খুব বড় বিষয় নয়, তবে আমার এলওবি অ্যাপ্লিকেশনগুলিতে শত শত ক্ষেত্র এবং ট্যাব সহ ফর্ম রয়েছে যা (প্রয়োজনীয়তার কারণে ) একসাথে সমস্ত কিছু জমা দিতে হয়েছে এবং যে কোনও ক্ষেত্রে এটি অত্যন্ত অক্ষম বলে মনে হচ্ছে এবং একটি অপচয়। যদি ফর্ম নেস্টিং সমর্থন করা হয় তবে আমি কমপক্ষে কেবল পোস্ট-আইডি ফিল্ডের সাথে নিজের ফর্মের ভিতরে "মুছুন" জমা বোতামটি মোড়তে সক্ষম হব।
আপনি বলতে পারেন "জমা দেওয়ার পরিবর্তে কেবল" মুছুন "একটি লিঙ্ক হিসাবে প্রয়োগ করুন"। এটি এতগুলি স্তরে ভুল হতে পারে তবে সর্বাধিক গুরুত্বপূর্ণ কারণ এখানে "মুছুন" এর মতো পার্শ্ব-প্রতিক্রিয়া ক্রিয়াগুলি কখনই জিইটি অনুরোধ হওয়া উচিত নয়।
সুতরাং আমার প্রশ্ন (বিশেষত যারা বলে যে তাদের ফর্ম বাসা বাঁধার দরকার নেই) আপনি কী করেন? আমি অনুপস্থিত এমন কোনও দুর্দান্ত সমাধান আছে বা নীচের লাইনটি সত্যিই "হয় জাভাস্ক্রিপ্টের প্রয়োজন হয় বা সমস্ত কিছু জমা দিন"?