এইচটিএমএল ফর্ম ইনপুট ক্ষেত্রগুলির জন্য অক্ষম = "অক্ষম" এবং পঠনযোগ্য = "পঠনযোগ্য" এর মধ্যে পার্থক্য কী?


435

আমি এটিতে কিছুটা পড়েছি, তবে বিভিন্ন ব্রাউজারগুলি কীভাবে জিনিসগুলির সাথে আচরণ করে সে সম্পর্কে আমি কোনও শক্তিশালী কিছু খুঁজে পাচ্ছি না।


সম্পর্কিত: "একটি নির্বাচিত ট্যাগের জন্য পঠনযোগ্য বৈশিষ্ট্যটি কীভাবে অনুকরণ করা যায় এবং এখনও পোস্টের ডেটা পাওয়া যায়?" stackoverflow.com/questions/368813/…
অ্যাড্রিয়েন

উত্তর:


728

একটি readonlyউপাদান কেবল সম্পাদনযোগ্য নয়, তবে যখন formজমা দেওয়া হয় তখন তা পাঠানো হয় । কোনও disabledউপাদান সম্পাদনাযোগ্য নয় এবং জমা দেওয়ার সময় প্রেরণ করা হয় না। আর একটি পার্থক্য হ'ল readonlyউপাদানগুলি ফোকাস করা যায় (এবং কোনও ফর্মের মাধ্যমে "ট্যাবিং" করার সময় ফোকাস হওয়া) যখন disabledউপাদানগুলি পারে না।

এই দুর্দান্ত নিবন্ধ বা w3c দ্বারা সংজ্ঞা এ সম্পর্কে আরও পড়ুন । গুরুত্বপূর্ণ অংশটি উদ্ধৃত করা:

মূল পার্থক্য

অক্ষম বৈশিষ্ট্য

  • অক্ষম ফর্ম উপাদানগুলির মানগুলি প্রসেসর পদ্ধতিতে পাস হয় না। ডাব্লু 3 সি একে সফল উপাদান বলে calls (এটি চেক করা হয়নি এমন ফর্ম চেক বাক্সগুলির মতোই কাজ করে))
  • কিছু ব্রাউজার অক্ষম ফর্ম উপাদানগুলির জন্য ওভাররাইড বা ডিফল্ট স্টাইলিং সরবরাহ করতে পারে। (গ্রে আউট বা এমবস টেক্সট) ইন্টারনেট এক্সপ্লোরার 5.5 এটি সম্পর্কে বিশেষভাবে বাজে।
  • অক্ষম ফর্ম উপাদান ফোকাস গ্রহণ করে না।
  • অক্ষম ফর্ম উপাদানগুলি ট্যাবিং নেভিগেশনে এড়িয়ে যায়।

কেবলমাত্র পাঠ্য বৈশিষ্ট্য

  • সমস্ত ফর্ম উপাদানগুলির একটি পঠনযোগ্য বৈশিষ্ট্য নেই। সর্বাধিক উল্লেখযোগ্য, <SELECT>, <OPTION>, এবং <BUTTON>উপাদানের কেবলমাত্র বৈশিষ্ট্যাবলী হবে না (যদিও তারা উভয় অক্ষম বৈশিষ্ট্যাবলী আছে)
  • ব্রাউজারগুলি এমন কোনও ডিফল্ট ওভাররাইড করা ভিজ্যুয়াল প্রতিক্রিয়া সরবরাহ করে না যে ফর্ম উপাদানটি কেবলমাত্র পঠিত। (এটি কোনও সমস্যা হতে পারে ... নীচে দেখুন))
  • কেবল পঠনযোগ্য বৈশিষ্ট্য সেট সহ ফর্ম উপাদানগুলি ফর্ম প্রসেসরে পাস হবে।
  • কেবলমাত্র ফর্মের উপাদানগুলি ফোকাস গ্রহণ করতে পারে
  • কেবলমাত্র ফর্ম উপাদানগুলি পড়ুন ট্যাবড নেভিগেশনে অন্তর্ভুক্ত।

5
কেবলমাত্র পাঠ্য উপাদানগুলিতে আপনি সিটিআরএল + সি ব্যবহার করতে পারবেন না তবে আপনি মাউসের ডান ক্লিকটি ব্যবহার করতে পারেন এবং অনুলিপিটি নির্বাচন করতে পারেন।
রাম্পলিন

7
@ রাম্পলিন আপনি কি সে সম্পর্কে নিশ্চিত? আমি শুধু পরীক্ষা OS X এর Chrome এর মাধ্যমে কী-বোর্ড শর্টকাট দিয়ে কপি করতে সক্ষম ছিল
evanrmurphy

5
"সমস্ত ফর্মের উপাদানগুলির একটি পঠনযোগ্য বৈশিষ্ট্য নেই Most সর্বাধিক উল্লেখযোগ্য, <<>, <অপশন> এবং <বাটোন> উপাদানগুলিতে কেবল পঠিত বৈশিষ্ট্য নেই (যদিও আপনার উভয়ই বৈশিষ্ট্য অক্ষম করেছেন)"। কেন কখনও কখনও আপনাকে নির্বাচিত ফর্মগুলির জন্য কোনও লুকানো ইনপুট ক্ষেত্রের সাথে "অক্ষম" বৈশিষ্ট্যটি ব্যবহার করতে হয় ts
ডোনাটো

ক্রোমের বর্তমান সংস্করণে পঠনযোগ্য উপাদানগুলি ফোকাস গ্রহণ করতে পারে না। এটি যদি সমস্যা হয় তবে আপনি যদি ব্যবহারকারীরা ইনপুট আকারের চেয়ে লম্বা মানগুলির মাধ্যমে স্ক্রোল করতে সক্ষম হবেন বলে আশা করছেন।
মাইক ফেল্টম্যান

5
সুতরাং এটি আমার বোঝা যা disabled বোঝায় readonly কিন্তু readonlyবোঝায় না disabled। অন্য কথায় যদি কোনও উপাদানের disabledবৈশিষ্ট্য থাকে তবে বৈশিষ্ট্যটিও অন্তর্ভুক্ত করার দরকার নেই readonly। সঠিক?
ছারভে

91

যখন উপাদানটি অ্যাট্রিবিউট অক্ষম করে থাকে তখন কোনও ইভেন্ট ট্রিগার হয় না।

নীচের কোনওটি ট্রিগার হবে না।

$("[disabled]").click( function(){ console.log("clicked") });//No Impact
$("[disabled]").hover( function(){ console.log("hovered") });//No Impact
$("[disabled]").dblclick( function(){ console.log("double clicked") });//No Impact

পাঠ্যপুস্তক চলাকালীন ট্রিগার করা হবে।

$("[readonly]").click( function(){ console.log("clicked") });//log - clicked
$("[readonly]").hover( function(){ console.log("hovered") });//log - hovered
$("[readonly]").dblclick( function(){ console.log("double clicked") });//log - double clicked

35

অক্ষম অর্থ হ'ল ফর্মটি জমা দেওয়ার সময় সেই ফর্ম উপাদান থেকে কোনও ডেটা জমা দেওয়া হবে না। কেবলমাত্র পঠন করার অর্থ উপাদানটির মধ্যে থেকে কোনও ডেটা জমা দেওয়া হবে তবে এটি ব্যবহারকারী দ্বারা পরিবর্তন করা যাবে না।

উদাহরণ স্বরূপ:

<input type="text" name="yourname" value="Bob" readonly="readonly" />

এটি "আপনার নাম" উপাদানটির জন্য "বব" মান জমা দেবে।

<input type="text" name="yourname" value="Bob" disabled="disabled" />

এটি "আপনার নাম" উপাদানটির জন্য কিছুই জমা দেবে না।


6
উভয় readonlyএবং disabledবুলিয়ান মান। এর disabledপরিবর্তে disabled="disabled"(কেবলমাত্র পঠনযোগ্য জন্য) ব্যবহার করুন
র‌্যাপ্টার

5
উভয় শব্দার্থগতভাবে সঠিক। এইচটিএমএল 5 আপনাকে ব্যবহার করতে দেয়।
মাইকেল ইরিগয়েন 19

3
মান ব্যতীত কেবলমাত্র অ্যাট্রিবিউটের নামগুলি ব্যবহার করার জন্য প্রসঙ্গ-নিখরচায় পরামর্শ দেওয়া পরামর্শ দেওয়া হয় - কারণ তখন কোডটি বৈধ এক্সএমএল / এক্সএইচটিএমএল হবে না। আমি জানি অনেকগুলি দেব তাদের সম্পর্কে চিন্তা করে না, তবে তাদের কমপক্ষে সমস্যা সম্পর্কে সচেতন হওয়া উচিত। ব্যক্তিগতভাবে আমি এক্সএইচটিএমএল সম্মতির জন্য প্রচেষ্টা করি - যদি না বাধ্যতামূলক কারণ দেওয়া হয়, যা আমি এখনও পাইনি - তাই আমি দীর্ঘ / সদৃশ ফর্মটি ব্যবহার করি।
আন্ডারস্কোর_২

1
@ টলমেকারস্টেটিভ আপনার কাছে কি এমন বিশদ উদ্ধৃতি দেওয়া আছে যে খালি স্ট্রিংগুলি বৈধ এক্সএইচটিএমএল? আমি কেবল মন্তব্য পৃষ্ঠাগুলি এটি HTML5 এর জন্য বৈধ বলে খুঁজে পেতে পারি। এক্সএইচটিএমএল সম্পর্কে আমি যে প্রত্যেকে কথা বলতে দেখেছি তারা সবাই বলে যে বুলিয়ান বৈশিষ্ট্যের জন্য এটির ফর্ম অবশ্যই হওয়া উচিত attrname="attrname"। যেভাবেই হোক, এটি বিশেষভাবে ডকুমেন্টেড বলে মনে হয় না, কমপক্ষে আমি এটি খুঁজে পাব না। ঠিক আছে, এটি রয়েছে - w3.org/TR/html4/intro/sgmltut.html#h-3.3.3.2 - তবে এটি কেবলমাত্র এসজিএমএল এবং এইচটিএমএল-এর উল্লেখ করেছে, এক্সএইচটিএমএল নয় .... খুব বেশি সংক্ষিপ্ত প্রতিশব্দ: এস
আন্ডারস্কোর_

1
... তবে এইচটিএমএল-এর জন্য বিটটি এড়িয়ে যাওয়া, যেখানে উপস্থিতি / অনুপস্থিতি যথেষ্ট - আমরা এটি পাই যা সম্ভবতঃ এক্সএইচটিএমএলকে বাদ দিয়ে প্রযোজ্য: Boolean attributes may legally take a single value: the name of the attribute itself (e.g., selected="selected").সুতরাং খালি স্ট্রিংটি বৈধ বলে মনে হয় না।
আন্ডারস্কোর_১

4

অন্যান্য উত্তরগুলির মতো (অক্ষম সার্ভারে প্রেরণ করা হয়নি, কেবলমাত্র পঠনযোগ্য) তবে কিছু ব্রাউজার অক্ষম ফর্মটি হাইলাইট করা রোধ করে, কেবল পঠনযোগ্য এখনও হাইলাইট করা যায় (এবং অনুলিপি করা হয়)।

http://www.w3schools.com/tags/att_input_disabled.asp

http://www.w3schools.com/tags/att_input_readonly.asp

কেবল পঠনযোগ্য ক্ষেত্রটি সংশোধন করা যায় না। তবে, কোনও ব্যবহারকারী এটিতে ট্যাব করতে, এটি হাইলাইট করতে এবং এটি থেকে পাঠ্যটি অনুলিপি করতে পারবেন।


1

যদি কোনও ফর্ম সাফ হয়ে গেলে (পুনরায় সেট করা) অক্ষম পাঠ্যবাক্সের disabled = "disabled"মান ধরে রাখতে হয় তবে কেবলমাত্র পঠনযোগ্য পাঠ্যবক্সটি মান ধরে রাখতে পারে না

উদাহরণ স্বরূপ:

এইচটিএমএল

পাঠ্যবাক্স

<input type="text" id="disabledText" name="randombox" value="demo" disabled="disabled" />

রিসেট বোতাম

<button type="reset" id="clearButton">Clear</button>

উপরের উদাহরণে, ক্লিয়ার বোতামটি চাপলে, অক্ষম পাঠ্য মানটি ফর্মটিতে ধরে রাখা হবে। ক্ষেত্রে মানটি ধরে রাখা হবে নাinput type = "text" readonly="readonly"

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.