ফায়ারফক্স সহ বাগ - সতেজ হওয়ার সময় ইনপুটটির অক্ষম বৈশিষ্ট্য পুনরায় সেট করা হয় না


103

আমি ফায়ারফক্সের সাথে একটি বাগ হিসাবে বিশ্বাস করি তা খুঁজে পেয়েছি এবং আমি ভাবছি যে এটি আসলে কোনও বাগ, সেইসাথে এর জন্য কোনও কাজের ক্ষেত্রও নয়।

আপনি যদি নিম্নলিখিত উত্সটি সহ একটি প্রাথমিক ওয়েবপৃষ্ঠা তৈরি করেন:

<html>
  <head>
    <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.6.0/jquery.min.js"></script>
  </head>
  <body>
    <div>
      <input id="txtTest" type="text" />
      <input type="button" onclick="$('#txtTest').attr('disabled','disabled');" value="Set Disabled (jQuery)" />
      <input type="button" onclick="document.getElementById('txtTest').disabled = true;" value="Set Disabled (js)" />
      <input type="button" onclick="$('#txtTest').removeAttr('disabled');" value="Remove Disabled" />
    </div>
  </body>
</html>

আপনি যদি পরিবর্তনশীল এবং তারপর পৃষ্ঠাটি রিফ্রেশ, পরিবর্তে অক্ষম না তার আসল অবস্থায় ফিরে পুনরায় সেট করার অক্ষম থাকবে। আমি IE8 এবং Chrome এ চেষ্টা করেছি এবং যারা প্রত্যাশা করবে তাদের সাথে আচরণ করে, রিফ্রেশ করার সময় পিছনে পুনরায় সেট করা অক্ষম না করে।disabletextboxtextboxtextbox

আরও একটি আকর্ষণীয় তথ্য হ'ল ইনপুটটি এ এর checkboxপরিবর্তে যদি এটি হয় তবে এটি একই জিনিসটি করে textbox


2
আপনি কি নিশ্চিত যে এটি কেবল ফায়ারফক্সের "বৈশিষ্ট্য" নয় যেখানে এটি সরল করে inputরিফ্রেশ করার সময় উপাদানগুলির অবস্থা মনে রাখে ?
ত্রিশডট

@ থার্টিডট: আমি সে সম্পর্কেও ভাবছিলাম, তাই আমি "আকার" বৈশিষ্ট্যটি গতিশীলভাবে সেট করার জন্যও চেষ্টা করেছি এবং এটি অন্যান্য ব্রাউজারগুলির মতোই রিফ্রেশের উপর পুনরায় সেট হয়ে যায়। সুতরাং দেখে মনে হচ্ছে যে আমি এখন পর্যন্ত যা আবিষ্কার করেছি তা হ'ল ফায়ারফক্স অক্ষম বৈশিষ্ট্য এবং ইনপুটটির আসল মূল্য ধরে রাখবে, তবে আকারটি নয় ...
স্টিফেন মেসা

5
বাহ, আপনি ঠিক বলেছেন! আমি ইনপুটটিতে স্বতঃপূরণ = "অফ" সেট করেছি এবং এটি আর হয় না। এটি বেশ অসুবিধাজনক যে ফায়ারফক্স ডিফল্টরূপে এটি চালু করে!
স্টিফেন মেসা

3
হ্যাঁ, আমি ভুলে গিয়েছিলাম আপনি এটি দিয়ে অক্ষম করতে পারেন autocomplete="off"এই ব্লগ পোস্টটি আমার পরিচিত বলে মনে হচ্ছে, তাই আমি অবশ্যই এটি আগে এসেছি। আপনার নিজের প্রশ্নের একটি উত্তর লিখতে হবে (বা আমার উচিত?)
ত্রয়োদশ

1
এটি সম্পর্কে একটি মুক্ত মজিলা বাগ রিপোর্ট রয়েছে: bugzilla.mozilla.org/show_bug.cgi?id=654072
cvrebert

উত্তর:


126

এটি ফায়ারফক্সের একটি "বৈশিষ্ট্য" যা পৃষ্ঠা রিফ্রেশ জুড়ে ফর্ম ইনপুট মানগুলি মনে রাখে। এই আচরণটি ঠিক করতে, আপনি কেবল autocomplete="off"ইনপুট যুক্ত ফর্মটিতে সেট করুন বা সরাসরি ইনপুটটিতে রেখেছেন।

এটি কাজ থেকে স্ব-অসম্পূর্ণতা থামায় এবং ব্রাউজারটিকে ইনপুট ক্ষেত্রগুলির স্থিতি মনে রাখতে বাধা দেয়।

বিকল্পভাবে, আপনি কেবল CTRL + F5 ক্লিক করে "হার্ড-রিফ্রেশ" করতে পারেন। এটি সম্পূর্ণরূপে বর্তমান পৃষ্ঠাটি পুনরায় সেট করবে।


4
আমি এই সমস্যাটি কেবল তখনই পেয়েছি যখন ব্যবহারকারী পিছনের বোতামটি ক্লিক করে, মনে autocomplete="off"হয় যে সেক্ষেত্রে কাজ করে না।
সৌরক

1
আমি কোনও ফর্ম চাই না, আমার কাছে কেবল একটি একক বোতাম আছে এবং ফায়ারফক্স এটি অক্ষম করেছে..অনয়ন করছে " আমি জেএস এর মাধ্যমে এটি পুনরায় সেট করতে পারি তবে..প্ললি।
vsync

@vsync এটিকে বোতাম / ইনপুট উপাদানটিতে সেট করার চেষ্টা করুন। কাজ করা উচিত!
হেনরিক হিমবুর্গার

4
এমনকি এটি আপনাকে বোতামেও করতে হবে। আমার বিশ্বাস করা শক্ত হয় যে এটি একটি বৈশিষ্ট্য এবং একটি বাগ নয়?
লিয়াম

1
এটি লুকানো ইনপুটগুলিকেও প্রভাবিত করে
লিয়াম

10

ব্যাক বোতাম মোকাবেলা করার জন্য, (থেকে করতে এখানে )

    window.addEventListener('pageshow', PageShowHandler, false);
    window.addEventListener('unload', UnloadHandler, false);

    function PageShowHandler() {
        window.addEventListener('unload', UnloadHandler, false);
    }

    function UnloadHandler() {
        //enable button here
        window.removeEventListener('unload', UnloadHandler, false);
    }

আমি জানিনা কেন এই উত্তরে কেবলমাত্র একটি আপ ভোট হয়েছে যখন অন্য উত্তরে 99 রয়েছে। স্বয়ংক্রিয়তা সম্পূর্ণরূপে অক্ষম করার চেয়ে আনলোডে অক্ষম রাষ্ট্র পুনরুদ্ধার করা ভাল, কারণ স্বতঃপূরণ একটি পছন্দসই কার্যকারিতা।
নিক

আমি মনে করি এটি //enable button hereএখানে অপ্রয়োজনীয়; উল্লেখ করা ডক্স সম্পর্কে আমার বোধগম্যতা হল কেবল ইভেন্ট শ্রোতার উপস্থিতিই পৃষ্ঠাটি BFcache এ সংরক্ষণ করতে বাধা দেবে।
Myf

নোট করুন যে একটি আনলোড হ্যান্ডলার যুক্ত করার সাথে ফায়ারফক্সে অন্যান্য পার্শ্ব প্রতিক্রিয়া রয়েছে: বিকাশকারী.মোজিলা.আর
মার্কিন- ডকস /

2

autocomplete="off"আপনার বাটনে যুক্ত করার আগে যেমন উল্লেখ করা হয়েছে ।

এখানে একটি হল sh+ + perlক্ষেত্রে এই স্বয়ংক্রিয় স্নিপেট <button>আপনার HTML ফাইল / টেমপ্লেটে গুলি (কিছু অনুমানের অধীনে):

find /path/to/html/templates -type f -name '*.html' -exec perl -pi -e \
  's/(?<=<button )(.*?)(?=>)/@{[(index($1,"autocomplete=")!=-1?"$1":"$1 autocomplete=\"off\"")]}/g' \
  {} +

অনুমানগুলি হ'ল:

  • খোলার <button>ট্যাগগুলি একই লাইনে শুরু হয় এবং শেষ হয়। যদি এই ঘটনা না (অর্থাত তারা বেশ কিছু লাইন ধরে বিভক্ত হতে পারে) তাহলে প্রতিস্থাপন /gসঙ্গে /gs(সাহায্য করা উচিত sপরিবর্তক কারণ .পাশাপাশি নতুন লাইন মেলে)

  • বৈধ এইচটিএমএল (যেমন মধ্যে কোন মজার অক্ষর আছে <এবং >) এবং কোন unescaped বড় ( >) উদ্বোধনী ট্যাগ ভিতরে।


0

এটি প্রকৃতপক্ষে ফায়ারফক্সে একটি খোলা বাগ is এমডিএন-তেautocomplete একটি নোটও রয়েছে: (দ্বিতীয় হলুদ বাক্সে স্ক্রোল করুন):

দ্রষ্টব্য: autocompleteফায়ারফক্স অন্য ব্রাউজারগুলির থেকে ভিন্ন - গতিশীল অক্ষম রাষ্ট্র এবং (যদি প্রযোজ্য হয়) কোনও <input>উপাদান, <textarea>উপাদান বা পুরো <form>পৃষ্ঠা লোড জুড়ে ডায়নামিক চেকনেস ধরে রাখে কিনা এটিকে বৈশিষ্ট্যটিও নিয়ন্ত্রণ করে । অধ্যবসায় বৈশিষ্ট্যটি ডিফল্টরূপে সক্ষম হয়। এই বৈশিষ্ট্যটি অক্ষম করতে autocompleteবৈশিষ্ট্যের মান নির্ধারণ করাoff । স্বতঃসমাপ্ত বৈশিষ্ট্যটি সাধারণত তার ধরণের গুণাবলী অনুসারে প্রযোজ্য হবে না তখনও এটি কাজ করে। বাগ 654072 দেখুন ।

আপনি যদি বুটস্ট্র্যাপ ব্যবহার করছেন তবে আপনার আগ্রহী হতে পারে

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