জাভাস্ক্রিপ্ট এইচটিএমএল ইনপুট থেকে "অক্ষম" বৈশিষ্ট্য সরান


104

আমি কীভাবে জাভাস্ক্রিপ্ট ব্যবহার করে কোনও HTML ইনপুট থেকে "অক্ষম" বৈশিষ্ট্যটি সরিয়ে ফেলতে পারি?

<input id="edit" disabled>

অনক্লিক এ আমি চাই যে আমার ইনপুট ট্যাগটি "অক্ষম" বৈশিষ্ট্যযুক্ত না হয়।


সম্ভাব্য সদৃশ কিভাবে আমি একটি অক্ষম করতে পারি বোতাম জমা যখন চেকবক্সটি আনচেক হয়? সদৃশ কারণ যে প্রশ্নটি ব্যাখ্যা করতে হয় কীভাবে টগল করতে হয়, সুতরাং এখানে যেমন জিজ্ঞাসা করা হয়েছে তেমন সক্ষম অক্ষম করতে হবে ।
সিরো সান্তিলি 郝海东 冠状 病 六四 事件 法轮功

উত্তর:


204

উপাদানটির disabledসম্পত্তিটিকে মিথ্যাতে সেট করুন :

document.getElementById('my-input-id').disabled = false;

আপনি যদি jQuery ব্যবহার করেন তবে সমতুল্য হবেন:

$('#my-input-id').prop('disabled', false);

বেশ কয়েকটি ইনপুট ক্ষেত্রগুলির জন্য, আপনি তার পরিবর্তে শ্রেণি দ্বারা সেগুলি অ্যাক্সেস করতে পারেন:

var inputs = document.getElementsByClassName('my-input-class');
for(var i = 0; i < inputs.length; i++) {
    inputs[i].disabled = false;
}

যেখানে documentকোনও ফর্মের সাথে প্রতিস্থাপন করা যেতে পারে, উদাহরণস্বরূপ, কেবলমাত্র সেই ফর্মের ভিতরে থাকা উপাদানগুলি খুঁজে পেতে। আপনি getElementsByTagName('input')সমস্ত ইনপুট উপাদান পেতে ব্যবহার করতে পারেন। আপনার forপুনরাবৃত্তিতে আপনাকে এটি পরীক্ষা করতে হবে inputs[i].type == 'text'


4
হ্যাঁ এটি কাজ করে, তবে একই কাজটি করার জন্য আমার প্রচুর ইনপুট দরকার ছিল। এর জন্য কি কোনও শর্টকাট আছে? এটি কি উপযুক্ত ('আইডি 1', 'আইডি 2', 'আইডি 3')?
জাম ভিল

4
হ্যাঁ এটা কাজ করে! ধন্যবাদ উপায় দ্বারা জিইলেমেন্টস বাইতে একটি টাইপ-ত্রুটি রয়েছে। আমি ভেবেছিলাম এটি কার্যকর হবে না :)
জাম ভিল

35

কেন শুধু সেই বৈশিষ্ট্যটি সরিয়ে নেই?

  1. ভ্যানিলা জেএস: elem.removeAttribute('disabled')
  2. jQuery: elem.removeAttr('disabled')

4
jQuery("#success").removeAttr("disabled");- এটি আমার জন্য কাজ করে, ধন্যবাদ!
aftamat4ik

ভ্যানিলা জেএস, অপসারণঅ্যাট্রিবিউট আইই তে সমর্থিত নয়
MarCrazyness

removeAttributeআইই 11-এ @ মারক্রেজিজনেস সমর্থিত বলে মনে হচ্ছে। এটি unknownআমি ব্যবহার করতে পারি সে হিসাবে চিহ্নিত করা হয়েছে, তাই আমি কেবল আইই খোলে এবং এটি কাজ করে কিনা তা যাচাই করেছিলাম। এটা করে.
আর্টুর

3

ইনপুটটির সম্পত্তি disabledব্যবহার করে মিথ্যাতে সেট করতে name:

document.myForm.myInputName.disabled = false;

2

সেরা উত্তরটি কেবল সরানঅ্যাট্রিবিউট

element.removeAttribute("disabled");

ফায়ারফক্সে, নোয়াডিস হিসাবে (2020), অক্ষম বৈশিষ্ট্যটি সক্রিয় রয়েছে তবে এটি মিথ্যাতে সেট করা হয়েছে। ফায়ারফক্স কেবল বৈশিষ্ট্যটি অনুসন্ধান করছে। সুতরাং ফায়ারফক্সের জন্য এটি যুক্ত বা সরিয়ে ফেলা ভাল সমাধান, এবং অবশ্যই এটি সমস্ত বড় ব্রাউজারগুলির জন্য কাজ করে।
রাফেল মেয়ার

0
method 1 <input type="text" onclick="this.disabled=false;" disabled>
<hr>
method 2 <input type="text" onclick="this.removeAttribute('disabled');" disabled>
<hr>
method 3 <input type="text" onclick="this.removeAttribute('readonly');" readonly>

পূর্ববর্তী উত্তরগুলির কোডটি ইনলাইন মোডে কাজ করছে বলে মনে হয় না, তবে একটি কার্যকারিতা রয়েছে: পদ্ধতি 3।

ডেমো দেখুন https://jsfiddle.net/eliz82/xqzccdfg/


এই দুজন আমার পক্ষে কাজ করছে না। method 1 <input type="text" onclick="this.disabled=false;" disabled> <hr> method 2 <input type="text" onclick="this.removeAttribute('disabled');" disabled>
অম্বল মণি

4
আপনি কেবলমাত্র উত্তরটি কীভাবে পড়তে জানেন না বলে আপনি এটিকে হ্রাস করেছেন? পদ্ধতি 1 হ'ল ডেভিড হেডলুন্ড প্রতিক্রিয়া থেকে, পদ্ধতি 2 ড্রাগন রসু প্রতিক্রিয়া থেকে। একবার কোনও উপাদান অক্ষম হয়ে গেলে সেই নির্দিষ্ট উপাদানটির "অনক্লিক" ইনলাইন মোডে আর কাজ করবে না (আমি বাহ্যিক জেএস মোড পরীক্ষা করিনি)। কেবলমাত্র পঠনযোগ্য বৈশিষ্ট্য এবং কিছু সিএসএস ব্যবহার করে "অক্ষম" হ্রাস করার একমাত্র উপায়। বা একটি বাহ্যিক "অন্লিক" উপাদানটি বোতামের মতো করুন যা পদ্ধতি 1 এবং 2 ব্যবহার করে ইনপুট সক্ষম করবে (এটি অবশ্যই কার্যকর হবে)।
ক্রিস্প 82
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.