জাভাস্ক্রিপ্ট এইচটিএমএল ফর্ম উপাদান ফোকাস সেট


331

এটিতে একটি পাঠ্য বাক্স সহ আমার একটি ওয়েব ফর্ম রয়েছে। আমি কীভাবে ডিফল্টরূপে পাঠ্য বাক্সটিতে ফোকাস সেট করতে যাব?

এটার মতো কিছু:

<body onload='setFocusToTextBox()'>

তাহলে কেউ কি আমাকে এতে সাহায্য করতে পারে? আমি জাভাস্ক্রিপ্ট সহ পাঠ্য বাক্সে কীভাবে ফোকাস সেট করব তা জানি না।

<script>
function setFocusToTextBox(){
//What to do here
}
</script>

21
যত সহজ document.getElementById('your_text_box_id').focus();
তিমু

উত্তর:


575

এটা কর.

যদি আপনার উপাদানটি এরকম কিছু হয় ..

<input type="text" id="mytext"/>

আপনার স্ক্রিপ্ট হবে

<script>
function setFocusToTextBox(){
    document.getElementById("mytext").focus();
}
</script>

3
আপনাকে ওয়েব এপিআই এর অন্যান্য অংশগুলি (যেমন Document.forms, Document.getelementsByTagNameবা Node.childNodes) ব্যবহার করে দস্তাবেজটি স্ক্যান করতে হবে এবং হয় একটি পরিচিত নথি কাঠামোর উপর নির্ভর করতে হবে বা কিছু উপাদান নির্দিষ্ট বৈশিষ্ট্য সন্ধান করতে হবে।
পিটার্ফ

40
বা সুস্পষ্ট উত্তর ... এটি একটি আইডি দিন;)
প্রাসঙ্গিক

4
আমি কোনও আইডি ব্যবহারের বিরুদ্ধে পরামর্শ দেব কারণ এটি নির্দিষ্টভাবে নির্দিষ্ট। পরিবর্তে নাম বা একটি ক্লাস ব্যবহার করুন। সেক্ষেত্রে ইনপুট উপাদানটির একটি রেফারেন্স পেতে আপনি ডকুমেন্ট.কোয়ারিলেক্টর ("[নাম = 'মাই টেক্সট']") বা ডকুমেন্ট.কুইয়ারসিলিটর ("। মাই টেক্সট") ব্যবহার করবেন।
ক্রিস লাভ

12
@ ক্রিসলভ আকর্ষণীয় পরামর্শ। কেন একটি আইডি "ওভার সুনির্দিষ্ট" হচ্ছে এবং ঠিক এটির সাথে সমস্যাটি কী? এটি সহজ, আরও সুনির্দিষ্ট এবং এটি সনাক্ত করার কোডটি একটি আইডি সহ কিছুটা দ্রুত হবে। আমার কাছে এটি করা সবচেয়ে সুস্পষ্ট এবং বুদ্ধিমান জিনিস বলে মনে হচ্ছে - যদি এটি সম্ভব হয়।
পান্ডুড

4
@ ক্রিসলভেল এইটি কোনও সিএসএস নির্বাচককে অতিরিক্ত-নির্দিষ্ট করে না, এটি একটি এইচটিএমএল আইডি বৈশিষ্ট্য নির্ধারণ করে - সিএসএস প্রসেসিং যেভাবে ডিওএম নির্বাচনকারীদের পার্স করার ক্ষেত্রে সমস্যা তা নয়, এইচডিএমএলে আইডি এবং শ্রেণীর বৈশিষ্ট্যগুলি কীভাবে কাজ করে তা নিয়ে সমস্যা নয়। জেএসকে সংযুক্ত করার মতো সিএসএস সংযুক্ত করার জন্য একই ডিওএম নির্বাচনকারীদের ব্যবহার করা ঠিক নয়, যার অর্থ আপনি বর্ণিত পার্থক্য বজায় রাখতে পারবেন
টনি লেইগ

142

এটি মূল্যবান কিসের জন্য, আপনি autofocusHTML5 সামঞ্জস্যপূর্ণ ব্রাউজারগুলিতে বৈশিষ্ট্যটি ব্যবহার করতে পারেন । এমনকি সংস্করণ 10 হিসাবে IE তে কাজ করে।

<input name="myinput" value="whatever" autofocus />

51
মনে রাখবেন, পৃষ্ঠাটি প্রথম পৃষ্ঠাটি লোড হওয়ার পরে এটি কেবলমাত্র ফোকাস সেট করার জন্য কাজ করে; ইনপুট প্রতিক্রিয়া পরে ফোকাস সেট করতে এটি ব্যবহার করা যাবে না।
মার্টিন কার্নে

আমি ভীত অটোফোকাস অ্যাট্রিবিউট সামঞ্জস্যপূর্ণ নয় যদি চলচ্চিত্র IOS সাফারি ( caniuse.com/#search=autofocus ) যখন .focus () শুধু অপেরা মিনি (এর সঙ্গে সঙ্গতিপূর্ণ নয় caniuse.com/#search=focus )
lfrodrigues

3
মনে রাখবেন যে আপনি যদি কনসোল থেকে ফোকাস করার চেষ্টা করছেন তবে এটি সম্ভব নয়!
বা চৌবান

65

সাধারণত যখন আমরা একটি পাঠ্যবক্সে মনোনিবেশ করি তখন আমাদের দৃষ্টিভঙ্গিতেও স্ক্রোল করা উচিত

function setFocusToTextBox(){
    var textbox = document.getElementById("yourtextbox");
    textbox.focus();
    textbox.scrollIntoView();
}

এটি সাহায্য করে কিনা তা পরীক্ষা করুন।


2
ক্ষেত্রটি স্ক্রিনটি বন্ধ থাকলে এটি একটি ছোট পর্দার ক্ষেত্রে সত্যিকারের মাথা ব্যাথা হতে পারে :-)
টনি লেইগ

যদি আপনার একটি শিরোলেখ স্থির থাকে তবে এটি আপনার পাঠ্যবক্স ব্যবহার করতে পারে sc
ডেডলিচাম্বার্স

30

যদি আপনার কোডটি হয়:

<input type="text" id="mytext"/>

এবং আপনি যদি জিকিউরি ব্যবহার করেন তবে আপনি এটিও ব্যবহার করতে পারেন:

<script>
function setFocusToTextBox(){
    $("#mytext").focus();
}
</script>

মনে রাখবেন আপনাকে অবশ্যই প্রথমে ইনপুট আঁকতে হবে $(document).ready()


11
আমি এটিকে অগ্রাহ্য করেছি, কারণ বেস প্রশ্নটিতে দূরবর্তীভাবে jQuery এর কোন জড়িত নেই। ওপি খাঁটি জাভাস্ক্রিপ্ট থাকতে চেয়েছিল
ফ্যালেনেরেপার

11
ঠিক আছে, আপনার কারণ আছে, আমি ভুল হয়ে গিয়েছিলাম, তবে আমি মনে করি এটি যাইহোক সহায়ক।
রিচার্ড রেবেকো

4
আমি এটি উত্সাহিত করছি কারণ যে প্রকল্পগুলিতে যেখানে jQuery ইতিমধ্যে ব্যবহৃত হয়েছে এবং আপনি jQuery নির্বাচনের বস্তু হিসাবে উপাদানগুলি রয়েছেন, ভ্যানিলা জেএস ব্যবহার না করে সামঞ্জস্য হওয়া ভাল ।
প্যারাডাইট

8
স্ট্যাকওভারফ্লো egregiously sloppy, no-effort-expended post, or an answer that is clearly and perhaps dangerously incorrectএর সহায়তা কেন্দ্র অনুসারে @ ফ্যালেনেরেপার ডাউনওয়োটেস রয়েছে । আমি এই বিভাগগুলির কাছাকাছি কোথাও এটি পাই না। সহায়তা কেবল ওপিতে সীমাবদ্ধ নয়, তাই না?
জেলি অ্যান

@ জেলিঅ্যান এটি উত্তর হলেও এটি ওপিএস প্রশ্নের ক্ষেত্রের বাইরে রয়েছে lies তিনি ভ্যানিলা জাভাস্ক্রিপ্টটি ব্যবহার করছেন এমন একটি কারণ রয়েছে এবং আপনি অন্যান্য ফ্রেমওয়ার্কগুলি উল্লেখ করতে পারেন এবং পয়েন্টার বা ইঙ্গিতগুলি একটির দিকে পরিচালিত করতে পারেন এবং কেন যুক্তি দিতে পারেন, আপনার এখনও জিজ্ঞাসা করা প্রশ্নের সীমানা থেকে উত্তরটি সমাধান করা উচিত। অতএব, আমি আমার ডাউনটাতে পাশে আছি
ফলেনরাইপার

20

সরল জাভাস্ক্রিপ্টের জন্য, নিম্নলিখিতটি চেষ্টা করুন:

window.onload = function() {
  document.getElementById("TextBoxName").focus();
};

3

আমি কেবল এটি ব্যবহার করতাম:

<html>
  <head>
    <script type="text/javascript">
      function focusFieldOne() {
        document.FormName.FieldName.focus();
      }
    </script>
  </head>

  <body onLoad="focusFieldOne();">
    <form name="FormName">
      Field <input type="text" name="FieldName">
    </form>
  </body>
</html>

এটি বলেছিল, আপনি কেবল এইচটিএমএল 5 এ অটোফোকাস বৈশিষ্ট্যটি ব্যবহার করতে পারেন।

দয়া করে নোট করুন: আমি এই পুরাতন থ্রেডটি আপডেট করতে চেয়েছি উদাহরণটি জিজ্ঞাসা করা আরও প্লাসগুলি এখনও যারা পড়ছেন তাদের জন্য আরও সহজ, সহজ আপডেট দেখাচ্ছে update ;)


1

যেমন আগেই উল্লেখ করা হয়েছে, ডকুমেন্ট.ফর্মগুলিও কাজ করে।

function setFocusToTextBox( _element ) {
  document.forms[ 'myFormName' ].elements[ _element ].focus();
}

setFocusToTextBox( 0 );
// sets focus on first element of the form


ফর্মগুলির দীর্ঘকাল ধরে "নাম" রয়েছে এবং এইচটিএমএল 5 এ এখনও রয়েছে। W3.org/TR/html5/forms.html#the-form-element
ম্যাক

1

আপনার <input>বা যদি <textarea>বৈশিষ্ট্যটি থাকে id=mytextতবে ব্যবহার করুন

mytext.focus();


0

উইন্ডো.অনলোড হ'ল প্রাথমিকভাবে ফোকাসটি অন্বেষণ করা হ'ল আপনি টেক্সারিয়ার বাইরে ক্লিক করার সময় ফোকাস স্থাপন করা বা পাঠ্য অঞ্চলটি অস্পষ্টতা এড়ানো

    <textarea id="focus"></textarea>
    <script>
     var mytexarea=document.getElementById("focus");
    window.onload=function()
    {

    mytexarea.focus();

    }

mytextarea.onblur=function(){

mytextarea.focus();

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