এইচটিএমএল 5 তে কোনও ফ্লোট ইনপুট টাইপ আছে?


816

এইচটিএমএল 5.org অনুসারে , "নম্বর" ইনপুট টাইপের "মান বৈশিষ্ট্যটি নির্দিষ্ট করা থাকলে এবং খালি না হলে অবশ্যই একটি মান থাকতে হবে যা একটি বৈধ ভাসমান পয়েন্ট সংখ্যা।"

তবু এটি সহজভাবে (ক্রোমের সর্বশেষ সংস্করণে, যাইহোক) পূর্ণসংখ্যার সাথে "আপডেটডাউন" নিয়ন্ত্রণ, ভাসমান নয়:

<input type="number" id="totalAmt"></input>

এইচটিএমএল 5-এর কোনও ফ্লোটিং পয়েন্ট ইনপুট উপাদানটি রয়েছে, বা নম্বরগুলি ইনপুট নয়, নম্বরগুলি ইনপুট টাইপের সাথে কাজ করার উপায়? বা আমি কি কোনও jQuery UI প্লাগইন অবলম্বন করব?

উত্তর:


1659

numberধরনের একটি হয়েছে stepমান নিয়ন্ত্রণের যা সংখ্যার বৈধ (সহ maxএবং min), যা ডিফল্ট 1। এই মানটি স্টেপার বোতামগুলির জন্য বাস্তবায়নের মাধ্যমেও ব্যবহৃত হয় (অর্থাত্ বাড়িয়ে দিয়ে চাপিয়ে দেওয়া step)।

এই মানটি যথাযথভাবে পরিবর্তন করুন। অর্থের জন্য, দুটি দশমিক জায়গা সম্ভবত প্রত্যাশিত:

<input type="number" step="0.01">

( min=0এটি কেবল ইতিবাচক হতে পারলে আমি সেটও করতাম )

আপনি যদি কোনও দশমিক স্থানের অনুমতি দিতে পছন্দ করেন তবে আপনি ব্যবহার করতে পারেন step="any"(মুদ্রার জন্য হলেও, আমি এর সাথে লেগে থাকার পরামর্শ দিই 0.01)। ক্রোম এবং ফায়ারফক্সে, স্টিপার বোতামগুলি ব্যবহারের সময় 1 দ্বারা বৃদ্ধি / হ্রাস পাবে any। (নির্দেশ করার জন্য মাইকেল স্টেফানোর জবাবকে ধন্যবাদ any, এবং এখানে সম্পর্কিত প্রবন্ধটি দেখুন )

বিভিন্ন ধাপগুলি বিভিন্ন ইনপুট প্রকারকে কীভাবে প্রভাবিত করে তা দেখানোর জন্য এখানে একটি খেলার মাঠ রয়েছে:

<form>
  <input type=number step=1 /> Step 1 (default)<br />
  <input type=number step=0.01 /> Step 0.01<br />
  <input type=number step=any /> Step any<br />
  <input type=range step=20 /> Step 20<br />
  <input type=datetime-local step=60 /> Step 60 (default)<br />
  <input type=datetime-local step=1 /> Step 1<br />
  <input type=datetime-local step=any /> Step any<br />
  <input type=datetime-local step=0.001 /> Step 0.001<br />
  <input type=datetime-local step=3600 /> Step 3600 (1 hour)<br />
  <input type=datetime-local step=86400 /> Step 86400 (1 day)<br />
  <input type=datetime-local step=70 /> Step 70 (1 min, 10 sec)<br />
</form>


যথারীতি, আমি একটি দ্রুত নোট যুক্ত করব: মনে রাখবেন যে ক্লায়েন্ট-সাইডের বৈধতা ব্যবহারকারীর পক্ষে কেবল একটি সুবিধা just আপনাকে অবশ্যই সার্ভার-সাইডে বৈধতা দিতে হবে!


1
@ এলফায়ারের সম্পাদনায় প্রতিক্রিয়া জানাতে: আপনি নির্দিষ্ট অক্ষর ব্যবহার করতে না চাইলে উদ্ধৃতিগুলি এইচটিএমএলে optionচ্ছিক। আরও ভাল পাঠযোগ্যতার জন্য ব্যক্তিগতভাবে আমি এগুলি বাদ দিতে পছন্দ করি।
ডেভ

5
এটি ফায়ারফক্সের সর্বশেষ সংস্করণগুলিতে সঠিকভাবে কাজ করছে না: bugzilla.mozilla.org/show_bug.cgi?id=1003896
trpt4 Him

7
@ ডেভ: হ্যাঁ, প্রযুক্তিগতভাবে, উদ্ধৃতিগুলি বাদ দেওয়া ঠিক আছে, কিছুটা এটি সম্ভাব্য সমস্যাগুলির একটি সংখ্যক পরিচয় করিয়ে দেয়। প্রথমত, বিভিন্ন ব্রাউজার এবং এর সংস্করণগুলিতে অক্ষরের একটি উপসেট আলাদাভাবে পরিচালনা করা হয়। আপনি যদি কোট ব্যবহার না করা বেছে নেন, তবে আপনাকে অবশ্যই ক্রমাগত সচেতন থাকতে হবে যে প্রতিটি অক্ষরগুলি প্রতিটি ব্রাউজার এবং সংস্করণে সমস্যা সৃষ্টি করে। এটি এমন অনেক মানসিক শক্তি যা এমন কিছুতে উত্সর্গীকৃত যা যদি আপনি কেবল উদ্ধৃতি ব্যবহার করেন তবে চিন্তা করার দরকার নেই। (অবিরত)
ক্রিস প্রট

9
দ্বিতীয়ত, আপনি যে চরিত্রগুলি ভাল এবং কোনটি সঠিক নয় সেগুলির নিয়মগুলি নিয়ে চিন্তিত হওয়ার সাথে সাথে আপনার বিকাশকারী সম্ভবত পিছনে আসবে না probably তারপরে তাদের প্রয়োজন হয় যে আপনি যে সমস্ত গুণাবলী অবতীর্ণ বা আরও খারাপ রেখেছেন সেগুলিতে উদ্ধৃতি যুক্ত করার কঠিন কাজটি তারা সহ্য করুন, কেবল কোডটিতে সমস্যাগুলি প্রবর্তন করুন যা তারা এমনকি উত্সটি বুঝতে পারে না। অবশেষে, যেহেতু কখনও কখনও আপনি হবে আছে কোট ব্যবহার করতে, কোড তারপর কিছু বৈশিষ্ট্যাবলী উদ্ধৃত এবং অন্যদের না সঙ্গে সঙ্গতিহীন দেখায়।
ক্রিস প্র্যাট

2
@relipse এখানে দেখুন: stackoverflow.com/q/3790935/1180785 কিন্তু প্রতিটি উত্তরের জন্য মন্তব্য পড়তে নিশ্চিত করা; দেখে মনে হচ্ছে যে সমস্ত বিকল্পের ত্রুটি রয়েছে এবং আপনাকে আপনার বিশেষ প্রয়োজনগুলির সাথে কী ফিট করে তা দেখতে হবে।
ডেভ

152

ভায়া: http://blog.isotoma.com/2012/03/html5-input-typenumber- এবং-decimalsfloats-in-chrome/

তবে আপনি যদি চান যে সমস্ত সংখ্যার বৈধ, পূর্ণসংখ্যা এবং দশমিক একত্রে হয়? এই ক্ষেত্রে, "যে কোনও" তে পদক্ষেপ সেট করুন

<input type="number" step="any" />

অন্যান্য ব্রাউজারে পরীক্ষিত নয়, ক্রোমে আমার জন্য কাজ করে।


4
ক্রোম => নিখুঁত সাফারি কাজ করে => ত্রুটি বার্তা প্রদর্শন করবে না, এবং সংখ্যা না থাকলে এটি সার্ভারের কাছে যাবে না => সংস্করণ 10 এর চেয়ে কম নয়, কাজ করবে
অভি

4
দুর্ভাগ্যক্রমে ক্রোমে এটি আপনাকে একাধিক দশমিক পয়েন্ট প্রবেশ করতে দেয়, উদাহরণস্বরূপ একটি আইপি ঠিকানা।
অ্যান্ডি

18

তুমি ব্যবহার করতে পার:

<input type="number" step="any" min="0" max="100" value="22.33">

12

আপনি ইনপুট ধরণের সংখ্যার পদক্ষেপের বৈশিষ্ট্যটি ব্যবহার করতে পারেন:

<input type="number" id="totalAmt" step="0.1"></input>

step="any"কোন দশমিক অনুমতি দেবে।
step="1"কোন দশমিক অনুমতি দেবে।
step="0.5"অনুমতি দেবে 0.5; 1; 1.5; ...
step="0.1"0.1 অনুমতি দেবে; 0.2; 0.3; 0.4; ...


8

এই উত্তরের ভিত্তিতে

<input type="text" id="sno" placeholder="Only float with dot !"   
   onkeypress="return (event.charCode >= 48 && event.charCode <= 57) ||  
   event.charCode == 46 || event.charCode == 0 ">

অর্থ:

চর কোড:

  • 48-57 এর সমান 0, 1, 2, 3, 4, 5, 6, 7, 8, 9
  • 0 হ'ল Backspace(অন্যথায় ফায়ারফক্সে রিফ্রেশ পৃষ্ঠা দরকার)
  • 46 হয় dot

&&হয় AND, ||হয় ORঅপারেটর।

যদি আপনি কমা দিয়ে ভাসা চেষ্টা করেন:

<input type="text" id="sno" placeholder="Only float with comma !"   
     onkeypress="return (event.charCode >= 48 && event.charCode <= 57) ||  
     event.charCode == 44 || event.charCode == 0 ">

সমর্থিত ক্রোমিয়াম এবং ফায়ারফক্স (লিনাক্স এক্স 64) (অন্য ব্রাউজারগুলির আমার অস্তিত্ব নেই))


পিছনে লাগে। কিভাবে ক্ষেত্রের অনুলিপি এবং পেস্ট?
মঙ্গল রবার্টসন


4
ইনপুট জন্য হ্যাক, অনুলিপি এবং পেস্ট জন্য হ্যাক, একটি হ্যাক শীর্ষে হ্যাক = খারাপ অভ্যাস। আমাদের রয়েছে 2017
মঙ্গলবার্ট রবার্টসন

আপনি কোথায় কোন পাসওয়ার্ড ইনপুট পড়েন? সেশন পরে কোন পদ্ধতি ব্যবহার করে কে যত্ন? না, আমাদের 1856 আছে! অন্য ব্যবহারকারী চেষ্টা করুন!
dsgdfg

খুব জটিল মনে হচ্ছে তবে এই পদ্ধতিটির তুলনায় যুক্তি তুলনায় অন্যটি উল্লিখিত নয়
WebDude0482

6

আমি তাই করি

 <input id="relacionac" name="relacionac" type="number" min="0.4" max="0.7" placeholder="0,40-0,70" class="form-control input-md" step="0.01">

তারপরে, আমি ০.০১: 0.4, 0.41, 0,42 ... 0.7 ... এর সাথে 0.4 এ ন্যূনতম এবং 0.7 এ সর্বাধিক সংজ্ঞা দিচ্ছি


4

আমার ঠিক একই সমস্যা ছিল এবং ফরাসী স্থানীয়করণের কারণে আমি কেবলমাত্র কমা রেখে সংশোধন করতে পারলাম না এবং একটি পিরিয়ড / পুরো স্টপ নাও ।

সুতরাং এটি এর সাথে কাজ করে:

2 ঠিক আছে

2,5 ঠিক আছে

2.5 কেও (সংখ্যাটি "অবৈধ" হিসাবে বিবেচিত হয় এবং আপনি খালি মূল্য পান)।


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