গুণাবলী id
এবং name
গুণাবলী মধ্যে পার্থক্য কি ? তারা উভয়ই শনাক্তকারী সরবরাহ করার একই উদ্দেশ্যে কাজ করে বলে মনে হচ্ছে।
যে কোনও কারণে উভয়ই ব্যবহার করা প্রয়োজনীয় বা উত্সাহিত কিনা তা আমি জানতে চাই (বিশেষত এইচটিএমএল ফর্মের সাথে সম্পর্কিত)।
গুণাবলী id
এবং name
গুণাবলী মধ্যে পার্থক্য কি ? তারা উভয়ই শনাক্তকারী সরবরাহ করার একই উদ্দেশ্যে কাজ করে বলে মনে হচ্ছে।
যে কোনও কারণে উভয়ই ব্যবহার করা প্রয়োজনীয় বা উত্সাহিত কিনা তা আমি জানতে চাই (বিশেষত এইচটিএমএল ফর্মের সাথে সম্পর্কিত)।
উত্তর:
name
ফর্ম জমা দেওয়ার ক্ষেত্রে ডেটা প্রেরণের সময় এই বৈশিষ্ট্যটি ব্যবহৃত হয়। বিভিন্ন নিয়ন্ত্রণ পৃথকভাবে প্রতিক্রিয়া জানায়। উদাহরণস্বরূপ, আপনার বিভিন্ন id
বৈশিষ্ট্যযুক্ত কয়েকটি রেডিও বোতাম থাকতে পারে তবে একই name
। জমা দেওয়া হলে, প্রতিক্রিয়ায় কেবল একটি মান রয়েছে - আপনি নির্বাচিত রেডিও বোতাম।
অবশ্যই এটির চেয়েও আরও অনেক কিছু রয়েছে তবে এটি অবশ্যই আপনাকে সঠিক দিকে চিন্তা করবে।
id
গেলে আপনার ফ্রন্টএন্ড (সিএসএস, জেএস) যা কাজ করে name
তা আপনার সার্ভারটি যা পায় এবং তারপরে প্রক্রিয়াজাত করতে পারে। গ্রিসোর উত্তর মূলত এটিই বলে।
ব্যবহারের name
ফর্ম নিয়ন্ত্রণ (যেমন জন্য বৈশিষ্ট্যাবলী <input>
এবং <select>
,) হিসাবে ব্যবহৃত আইডেন্টিফায়ার এর POST
বা GET
কল যে ফর্ম জমা ঘটে।
id
যখনই আপনাকে সিএসএস, জাভাস্ক্রিপ্ট বা কোনও খণ্ড শনাক্তকারী দিয়ে কোনও নির্দিষ্ট এইচটিএমএল উপাদানটি সম্বোধন করতে হবে তখন বৈশিষ্ট্যগুলি ব্যবহার করুন । নাম অনুসারে উপাদানগুলি সন্ধান করাও সম্ভব, তবে আইডি দ্বারা এগুলি সন্ধান করা সহজ এবং আরও নির্ভরযোগ্য ।
name
এবং একেবারে কোনও প্রয়োজনীয় টাই নেই id
। সনাক্তকারীটি অনন্যভাবে পৃষ্ঠায় একটি নির্দিষ্ট এইচটিএমএল উপাদান চিহ্নিত করে। name
একটি HTML ফর্ম উপাদান অ্যাট্রিবিউট, বিপরীতে দ্বারা, অনন্য হতে হবে না, এবং প্রায়ই যেমন রেডিও বোতাম বা একাধিক সহ পৃষ্ঠা মতই নয় <form>
উপাদান। এটা তোলে জন্য একই স্ট্রিং ব্যবহার প্রথাগত হয় name
এবং id
যেখানে উভয় একটি একক HTML উপাদান ব্যবহৃত হচ্ছে, কিন্তু কিছুই আপনি এই কাজ করতে তোলে।
id
ডকুমেন্ট অবজেক্ট মডেল (জাভাস্ক্রিপ্টের মাধ্যমে বা সিএসএস সহ স্টাইলযুক্ত) এর মাধ্যমে এইচটিএমএল উপাদান সনাক্ত করতে ব্যবহৃত হয় । id
পৃষ্ঠার মধ্যে অনন্য হতে পারে বলে আশা করা হচ্ছে।
name
ফর্ম উপাদানটির সাথে সামঞ্জস্য করে এবং সার্ভারে কী পোস্ট করা হয় তা সনাক্ত করে ।
এটি দেখুন http://mindprod.com/jgloss/htmlforms.html#IDVSNAME
পার্থক্য কি? সংক্ষিপ্ত উত্তরটি হল, উভয়টি ব্যবহার করুন এবং এটি সম্পর্কে চিন্তা করবেন না। তবে আপনি যদি এই মূর্খতা বুঝতে চান তবে এখানে চর্মসারটি রয়েছে:
আইডি = এই মত একটি টার্গেট হিসাবে ব্যবহারের জন্য হল:
<some-element id="XXX"></some-element>
ভালো লিঙ্কের জন্য:<a href="#XXX"
।নাম = হ'ল এইচটিটিপি (হাইপারটেক্সট ট্রান্সফার প্রোটোকল) জিইটি বা পোষ্ট সহ কোনও সার্ভারে প্রেরণ বার্তায় ক্ষেত্রগুলি লেবেল করতে আপনি কোনও ফর্ম জমা দেওয়ার সময় ব্যবহার করেন।
আইডি = জাভাস্ক্রিপ্ট এবং জাভা ডম (ডকুমেন্ট অবজেক্ট মডেল) দ্বারা ক্ষেত্রগুলিকে লেবেল করে। নামে থাকা নামগুলি অবশ্যই কোনও ফর্মের মধ্যে অনন্য হতে হবে। আইডি = এর মধ্যে থাকা নামগুলি অবশ্যই পুরো নথির মধ্যে স্বতন্ত্র হওয়া উচিত।
কখনও কখনও নাম = এবং আইডি = নামগুলি পৃথক হবে, কারণ সার্ভার একই নথির বিভিন্ন ফর্ম থেকে একই নামটি প্রত্যাশা করছে বা উপরের উদাহরণের মতো একই আকারে বিভিন্ন রেডিও বোতাম। আইডি = অবশ্যই অনন্য হতে হবে; নাম = হওয়া উচিত নয়।
জাভাস্ক্রিপ্টটির অনন্য নামগুলির প্রয়োজন ছিল, তবে অনন্য নাম = নাম ছাড়াই এখানে ইতিমধ্যে প্রচুর নথি রয়েছে, তাই ডাব্লু 3 লোকেরা আইডি ট্যাগটি আবিষ্কার করেছিল যা অনন্য হতে হবে। দুর্ভাগ্যক্রমে পুরানো ব্রাউজারগুলি এটি বুঝতে পারে না। সুতরাং আপনার ফর্মগুলিতে আপনার উভয় নামকরণের স্কিম প্রয়োজন।
দ্রষ্টব্য: এইচটিএমএল 5 তে <a>
সমর্থিত কিছু ট্যাগের জন্য "নাম" বৈশিষ্ট্যটি সমর্থিত নয়।
name
জন্য গুরুত্বপূর্ণ , এবং এটি কেবল একটি অনন্য সনাক্তকারী<input>
<form>
id
আমি এটি সম্পর্কে যেভাবে চিন্তা করি এবং এটি ব্যবহার করি তা সহজ:
আইডি CSS এবং জাভাস্ক্রিপ্ট / jQuery জন্য ব্যবহৃত হয় (একটি পৃষ্ঠায় অনন্য হতে হবে)
নামটি পিএইচপি-তে ফর্ম হ্যান্ডলিংয়ের জন্য ব্যবহৃত হয় যখন এইচটিএমএলের মাধ্যমে কোনও ফর্ম জমা দেওয়া হয় (কোনও ফর্মের মধ্যে অনন্য হতে হবে - কিছুটা হলেও নীচে পলের মন্তব্য দেখুন)
আইডি ট্যাগ - সিএসএস দ্বারা ব্যবহৃত, একটি ডিভ, স্প্যান বা অন্যান্য উপাদানগুলির একটি অনন্য উদাহরণ সংজ্ঞা দেয় । জাভাস্ক্রিপ্ট ডিওএম মডেলের মধ্যে উপস্থিত হয়ে আপনাকে বিভিন্ন ফাংশন কল দিয়ে তাদের অ্যাক্সেস করার অনুমতি দেয়।
ক্ষেত্রগুলির জন্য নাম ট্যাগ - এটি ফর্ম প্রতি অনন্য - যদি আপনি কোনও অ্যারে না করেন যা আপনি পিএইচপি / সার্ভার-সাইড প্রসেসিংয়ে যেতে চান। আপনি নাম দ্বারা জাভাস্ক্রিপ্টের মাধ্যমে এটি অ্যাক্সেস করতে পারেন, তবে আমি মনে করি এটি ডিওমে নোড হিসাবে উপস্থিত হবে না বা কিছু বিধিনিষেধ প্রয়োগ হতে পারে (আপনি .innerHTML ব্যবহার করতে পারবেন না, উদাহরণস্বরূপ, যদি আমি সঠিকভাবে স্মরণ করি)।
সাধারণত, ধারণা করা হয় যে নামটি সর্বদা আইডির মাধ্যমে বাদ দেওয়া হয় । এটি কিছুটা হলেও সত্য, তবে ফর্ম ফিল্ড এবং ফ্রেমের নামগুলির জন্য নয় , ব্যবহারিকভাবে বলছি। উদাহরণস্বরূপ, ফর্ম উপাদানগুলির সাথে name
বৈশিষ্ট্যটি সার্ভার-সাইড প্রোগ্রামে প্রেরণ করা নাম-মান যুক্তগুলি নির্ধারণ করতে ব্যবহৃত হয় এবং এটি মুছে ফেলা উচিত নয়। Browsers do not use id in that manner
। নিরাপদ পাশে থাকতে, আপনি ফর্ম উপাদানগুলিতে নাম এবং আইডি বৈশিষ্ট্যগুলি ব্যবহার করতে পারেন। সুতরাং, আমরা নিম্নলিখিত লিখতে হবে:
<form id="myForm" name="myForm">
<input type="text" id="userName" name="userName" />
</form>
সামঞ্জস্যতা নিশ্চিত করতে, উভয় সংজ্ঞায়িত করা হলে মিল এবং নাম এবং আইডি বিশিষ্ট মানগুলি রাখা ভাল ধারণা is তবে, সাবধান হন — কিছু ট্যাগ, বিশেষত রেডিও বোতামগুলির অবশ্যই নন-ইউনিক নাম মান থাকতে হবে, তবে অনন্য আইডি মান প্রয়োজন। আবার, এটি উল্লেখ করা উচিত যে আইডি কেবল নামের প্রতিস্থাপন নয়; তারা উদ্দেশ্য ভিন্ন। তদ্ব্যতীত, পুরানো শৈলীর পদ্ধতিকে ছাড়বেন না, আধুনিক গ্রন্থাগারগুলিতে গভীর দৃষ্টিভঙ্গি সময়ে সময়ে পারফরম্যান্স এবং স্বাচ্ছন্দ্যের উদ্দেশ্যে ব্যবহৃত এমন সিনট্যাক্স শৈলী দেখায়। আপনার লক্ষ্যটি সর্বদা সামঞ্জস্যের পক্ষে হওয়া উচিত।
এখন বেশিরভাগ উপাদানগুলিতে, নামটি অ্যাট্রিবিউটটি আরও সর্বব্যাপী আইডি অ্যাট্রিবিউটের পক্ষে অবচয় করা হয়েছে। যাইহোক, কিছু ক্ষেত্রে, বিশেষ করে ফর্ম ক্ষেত্রগুলি ( <button>
, <input>
, <select>
, এবং <textarea>
), কারণ এটি ফর্ম জমা দেওয়ার জন্য নাম-মান জোড়া সেট করার প্রয়োজন হতে চলতে নাম অ্যাট্রিবিউট জীবন। এছাড়াও, আমরা দেখতে পেলাম যে কয়েকটি উপাদান, বিশেষত ফ্রেম এবং লিঙ্কগুলি নামের বৈশিষ্ট্যটি ব্যবহার করা চালিয়ে যেতে পারে কারণ এটি প্রায়শই নাম দ্বারা এই উপাদানগুলি পুনরুদ্ধারে কার্যকর is
আইডি এবং নামের মধ্যে একটি স্পষ্ট পার্থক্য আছে। খুব প্রায়ই যখন নাম চলতে থাকে, আমরা মানগুলি একই সেট করতে পারি। যাইহোক, আইডি অবশ্যই অনন্য হতে হবে, এবং কিছু ক্ষেত্রে নাম হওয়া উচিত নয় — ভাবেন রেডিও বোতামগুলি। দুঃখের বিষয়, আইডি মানগুলির স্বতন্ত্রতা, যখন মার্কআপ যাচাইয়ের দ্বারা ধরা হয়েছিল, ততটা যথাযথ নয়। ব্রাউজারগুলিতে সিএসএস বাস্তবায়ন কোনও আইডি মান ভাগ করে নেওয়ার বিষয়গুলিকে স্টাইল করবে; সুতরাং, আমরা মার্কআপ বা স্টাইলের ত্রুটিগুলি ধরতে পারি না যা রানটাইম পর্যন্ত আমাদের জাভাস্ক্রিপ্টকে প্রভাবিত করতে পারে।
এটি জাভাস্ক্রিপ্ট বইটি থেকে নেওয়া হয়েছে- The Complete Reference by Thomas-Powell
name
লিঙ্কটি একই হওয়া উচিত (সার্ভার-সাইড কোড যা জমা দেওয়া হয়েছিল তা যত্নশীল নয়) তবে id
অবশ্যই পৃথক হওয়া উচিত (কারণ এটি অবশ্যই পুরো পৃষ্ঠায় অনন্য হতে হবে)।
name
লিঙ্ক টার্গেটের জন্য অবহেলিত এবং HTML5 এ অবৈধ invalid এটি কমপক্ষে সর্বশেষতম ফায়ারফক্স (v13) এ আর কাজ করে না। পরিবর্তন <a name="hello">
করুন<a id="hello">
লক্ষ্যটি একটি <a>
ট্যাগ হওয়ার দরকার নেই , এটি <p id="hello"
> বা <h2 id="hello">
ইত্যাদি হতে পারে যা প্রায়শই ক্লিনার কোড code
যেমন অন্যান্য পোস্টগুলি পরিষ্কারভাবে বলেছে, name
এখনও ফর্মগুলিতে ব্যবহৃত (প্রয়োজনীয়)। এটি এখনও মেটা ট্যাগগুলিতে ব্যবহৃত হয়।
এই লিঙ্কটিতে একই বেসিক প্রশ্নের উত্তর রয়েছে, তবে মূলত, আইডিটি স্ক্রিপ্টিং সনাক্তকরণের জন্য ব্যবহৃত হয় এবং নামটি সার্ভার-সাইডের জন্য হয়।
http://www.velocityreviews.com/forums/t115115-id-vs-name-attribute-for-html-controls.html
name Vs id
নাম
<button>, <form>, <fieldset>, <iframe>,
<input>, <keygen>, <object>, <output>, <select>, <textarea>, <map>,
<meta>, <param>
name
শৈলীর উপাদানগুলিতে ব্যবহৃত বৈশিষ্ট্যগুলি দেখেছি । আমি কি এটি অবৈধ ধরেছি?
কোনও ফর্ম ইনপুট উপাদানটির আইডি উপাদানটির মধ্যে থাকা ডেটার সাথে কোনও সম্পর্ক রাখে না। আইডিগুলি জাভাস্ক্রিপ্ট এবং সিএসএস সহ উপাদানকে হুক করার জন্য। নামের বৈশিষ্ট্যটি অবশ্য আপনার ব্রাউজারের মাধ্যমে সার্ভারে প্রেরণ করা HTTP অনুরোধে মান বৈশিষ্ট্যের মধ্যে থাকা ডেটার সাথে যুক্ত একটি ভেরিয়েবল নাম হিসাবে ব্যবহৃত হয়।
এই ক্ষেত্রে:
<form>
<input type="text" name="user" value="bob">
<input type="password" name="password" value="abcd1234">
</form>
ফর্মটি জমা দেওয়া হলে ফর্ম ডেটা এইচটিটিপি শিরোনামের মধ্যে অন্তর্ভুক্ত করা হবে:
আপনি যদি কোনও আইডি বৈশিষ্ট্য যুক্ত করেন তবে এটি HTTP শিরোনামে কোনও পরিবর্তন করবে না। এটি কেবল CSS এবং জাভাস্ক্রিপ্টের সাহায্যে এটিকে সহজ করে তুলবে।
যদি আপনি কোনও সার্ভারে তথ্য প্রেরণের জন্য ফর্মটির নিজস্ব জমা দেওয়ার পদ্ধতিটি ব্যবহার না করে থাকেন (এবং পরিবর্তে এটি জাভাস্ক্রিপ্ট ব্যবহার করে করছেন) তবে আপনি কোনও ইনপুটটিতে অতিরিক্ত তথ্য সংযুক্ত করার জন্য নামের বৈশিষ্ট্যটি ব্যবহার করতে পারেন - বরং এটি কোনও লুকানো ইনপুট মানটির সাথে যুক্ত করার মতো, তবে আরও সুন্দর দেখায় কারণ এটি ইনপুটটিতে অন্তর্ভুক্ত।
এই বিটটি বর্তমানে ফায়ারফক্সে কাজ করছে যদিও আমি মনে করি ভবিষ্যতে এটির মাধ্যমে অনুমতি দেওয়া হবে না।
আপনি যতক্ষণ না পুরানো ফ্যাশন পদ্ধতিতে জমা দেওয়ার পরিকল্পনা করছেন না ততক্ষণ একই নামের মান সহ একাধিক ইনপুট ক্ষেত্র থাকতে পারে।
ব্যক্তিগত অভিজ্ঞতার উপর ভিত্তি করে এবং ডাব্লু 3 স্কুলগুলির বৈশিষ্ট্য অনুসারে বর্ণনা:
আইডি একটি গ্লোবাল অ্যাট্রিবিউট এবং এটি HTML এর কার্যত সমস্ত উপাদানগুলিতে প্রযোজ্য। এটি ওয়েব পৃষ্ঠায় উপাদানগুলি অনন্যভাবে চিহ্নিত করতে ব্যবহৃত হয় এবং এর মানটি বেশিরভাগ অংশে (সাধারণত জাভাস্ক্রিপ্ট বা jQuery এর মাধ্যমে) অ্যাক্সেস করা যায়।
নাম হ'ল একটি বৈশিষ্ট্য যা এইচটিএমএলে নির্দিষ্ট উপাদানগুলির জন্য দরকারী (যেমন ফর্ম উপাদানগুলি ইত্যাদি)। এর মান বেশিরভাগ প্রসেসিংয়ের জন্য ব্যাকএন্ডে প্রেরণ করা হয়।
নীচে আইডি বৈশিষ্ট্যের একটি আকর্ষণীয় ব্যবহার রয়েছে। এটি ট্যাগের মধ্যে ব্যবহার করা হয় এবং সীমানার বাইরের উপাদানগুলির জন্য ফর্মটি সনাক্ত করতে ব্যবহৃত হয় যাতে তারা ফর্মের মধ্যে অন্যান্য ক্ষেত্রগুলির সাথে অন্তর্ভুক্ত হবে।
<form action="action_page.php" id="form1">
First name: <input type="text" name="fname"><br>
<input type="submit" value="Submit">
</form>
<p>The "Last name" field below is outside the form element, but still part of the form.</p>
Last name: <input type="text" name="lname" form="form1">
আইডি: 1) এটি ডকুমেন্ট অবজেক্ট মডেল (জাভাস্ক্রিপ্টের মাধ্যমে বা সিএসএস সহ স্টাইলযুক্ত) এর মাধ্যমে এইচটিএমএল উপাদান সনাক্ত করতে ব্যবহৃত হয়। 2) পৃষ্ঠার মধ্যে আইডিটি অনন্য হয়ে উঠবে বলে আশা করা হচ্ছে।
নাম ফর্ম উপাদানটির সাথে সামঞ্জস্য করে এবং সার্ভারে কী পোস্ট করা হয় তা সনাক্ত করে। উদাহরণ:
<form action="action_page.php" id="Myform">
First name: <input type="text" name="FirstName"><br>
<input type="submit" value="Submit">
</form>
<p>The "Last name" field below is outside the form element, but still part of the form.</p>
Last name: <input type="text" name="LastName" form="Myform">
আইডিটি কোনও উপাদানকে স্বতন্ত্রভাবে সনাক্ত করতে ব্যবহৃত হয়।
নাম ফর্মগুলিতে ব্যবহৃত হয় you আপনি যদি কোনও ফর্ম জমা দেন তবে আপনি কোনও নাম না দিলে কিছুই জমা দেওয়া হবে না। সুতরাং "get or push" এর মতো ফর্ম পদ্ধতির মাধ্যমে শনাক্তকরণের জন্য ফর্ম উপাদানগুলির একটি নাম প্রয়োজন।
এবং শুধুমাত্র নামের বৈশিষ্ট্যযুক্তগুলি বেরিয়ে যাবে।
এটি id
কোনও উপাদানকে একটি আইডি দেবে, সুতরাং একবার আপনি আসল কোডটি লিখলে, (জাভাস্ক্রিপ্টের মতো) আপনি উপাদানগুলি পড়তে আইডিটি ব্যবহার করতে পারেন। name
তাই ব্যবহারকারী উপাদান নাম দেখতে পারেন শুধু একটি নাম, আমি অনুমান।
উদাহরণ:
<h1 id="heading">text</h1>
<script>
document.getElementById("heading"); //Reads the element that has the id "heading".
</script>
//You can also use something like this:
document.getElementById("heading").value; //Reads the value of the selected element.
এটা কি সহায়ক? কিছু সমস্যা আছে কিনা তা আমাকে জানান।
কোনও আইডি এবং নামের মধ্যে কোনও আক্ষরিক পার্থক্য নেই।
নাম শনাক্তকরণকারী এবং ব্রাউজারের মাধ্যমে সার্ভারে প্রেরণ করা HTTP অনুরোধে উপাদানটির মান বৈশিষ্ট্যযুক্ত ডেটার সাথে যুক্ত একটি ভেরিয়েবল নাম হিসাবে ব্যবহৃত হয়।
অন্যদিকে আইডিটি ব্রাউজার, ক্লায়েন্ট সাইড এবং জাভাস্ক্রিপ্টের জন্য একটি অনন্য শনাক্তকারী enceএইন্সের উপাদানগুলির একটি নামের প্রয়োজন হলে হ্যান্স ফর্মটির একটি আইডি প্রয়োজন।
আইডি আরও নির্দিষ্টভাবে অনন্য উপাদানগুলিতে বৈশিষ্ট্য যুক্ত করতে ব্যবহৃত হয় D ডোম পদ্ধতিতে, জাভাস্ক্রিপ্টে আইডিকে নির্দিষ্ট পদার্থের রেফারেন্স দেওয়ার জন্য ব্যবহার করা হয় যা আপনি নিজের ক্রিয়াকলাপটি সম্পাদন করতে চান।
উদাহরণ স্বরূপ:
<html>
<body>
<h1 id="demo"></h1>
<script>
document.getElementById("demo").innerHTML = "Hello World!";
</script>
</body>
</html>
নাম অ্যাট্রিবিউট দ্বারা একই অর্জন করা যায়, তবে ফর্ম এবং আইডি ইনপুট ট্যাগ বা নির্বাচন ট্যাগের মতো ছোট ফর্ম উপাদানগুলির জন্য নাম ব্যবহার করা পছন্দ হয় preferred