অ্যান্ড্রয়েডে মোবাইল ওয়েবসাইটের সংখ্যা সহ কী-বোর্ড কীভাবে জোর করবেন


94

আমার একটি মোবাইল ওয়েবসাইট রয়েছে এবং এতে এর মধ্যে কিছু HTML inputউপাদান রয়েছে:

<input type="text" name="txtAccessoryCost" size="6" />

আমি WebViewসম্ভাব্য অ্যান্ড্রয়েড ২.১ গ্রাহনের জন্য সাইটটিকে এম্বেড করেছি , যাতে এটি একটি অ্যান্ড্রয়েড অ্যাপ্লিকেশনও হয়।

এই এইচটিএমএল inputউপাদানটি কেন্দ্রীভূত করাতে অক্ষরের সাথে ডিফল্টের পরিবর্তে সংখ্যাগুলির সাথে কিবোর্ড পাওয়া সম্ভব ?

অথবা, এটি যদি কোনও এইচটিএমএল উপাদানটির পক্ষে সম্ভব না হয় তবে পুরো অ্যাপ্লিকেশনটির জন্য এটি নির্ধারণ করা ( ম্যানিফেস্ট ফাইলের মধ্যে কিছু হতে পারে )?


অ্যান্ড্রয়েড ছাড়াও আইওএসে যদি একটি সংখ্যার কীপ্যাড চান, আপনার এইটি করা উচিত: stackoverflow.com/a/31619311/806956
অ্যারন গ্রে

4
inputmode="number"অ্যাট্রিবিউট প্রয়াত 2019 সালে সঠিক উত্তর মত মনে হয়: developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/... । এই মন্তব্যের সময় সর্বাধিক ভোট দেওয়া উত্তরটি সুপারিশ করে type="number", যা তার নিজস্ব কিছু সমস্যা নিয়ে আসে; inputmodeইনপুট নিজেই আচরণ / সীমাবদ্ধতার চেয়ে কেবল ভার্চুয়াল কীবোর্ড প্রদর্শনকেই প্রভাবিত করে।
শেফডনওয়ার্ক

উত্তর:


114
<input type="number" />
<input type="tel" />

এই উভয়ই সংখ্যার কীপ্যাড উপস্থাপন করে যখন ইনপুটটি ফোকাস করে।

<input type="search" /> অতিরিক্ত অনুসন্ধান বোতাম সহ একটি সাধারণ কীবোর্ড দেখায়

বাকি সমস্ত কিছুই স্ট্যান্ডার্ড কীবোর্ড নিয়ে আসে বলে মনে হচ্ছে।


আজ এটি দেখুন এবং তারপরে আপনাকে জানাতে হবে যে এটি কাজ করে কিনা। ধন্যবাদ, রিচার্ড!
ncakmak

4
হাই রিচার্ড কোনওটিই কাজ করেনি, ইনপুট ফিল্ড এখনও স্ট্যান্ডার্ড কীবোর্ড খুলছে।
ncakmak



4
<input type="text" pattern="\d*" /> এছাড়াও সংখ্যার কীবোর্ড নিয়ে আসে তবে কেবল আইওএস এ, Android এ নয়
ররি ও'কেনে

52

গুরুত্বপূর্ণ তথ্য

আমি এটি একটি উত্তর হিসাবে পোস্ট করছি, কোনও মন্তব্য নয়, কারণ এটি বরং গুরুত্বপূর্ণ তথ্য এবং এটি এই ফর্ম্যাটে আরও মনোযোগ আকর্ষণ করবে।

অন্যান্য ফেলো ইঙ্গিত অনুসারে, আপনি একটি ডিভাইসকে আপনাকে type="number"/ এর সাথে একটি সংখ্যাসূচক কীবোর্ড দেখানোর জন্য বাধ্য করতে পারেন type="tel", তবে আমার অবশ্যই জোর দিতে হবে যে আপনাকে এটি সম্পর্কে অত্যন্ত সতর্ক হতে হবে।

যদি কেউ প্রত্যাশা করে যে কোনও জিরো দিয়ে শুরু 000222হচ্ছে, তবে তার সমস্যা হওয়ার সম্ভাবনা রয়েছে কারণ কিছু ব্রাউজার (উদাহরণস্বরূপ ডেস্কটপ ক্রোম) সার্ভারে প্রেরণ করবে 222, যা সে চায় না।

সম্পর্কে type="tel"আমি অনুরূপ কিছু বলতে পারি না তবে ব্যক্তিগতভাবে আমি এটি ব্যবহার করি না, কারণ বিভিন্ন টেলিফোনে এর আচরণের পরিবর্তন হতে পারে। আমি নিজেকে সিম্পলেটেড করে রেখেছি pattern="[0-9]*"যা অ্যান্ড্রয়েডে কাজ করে না


4
স্বয়ংক্রিয় পুনরায় ফর্ম্যাটিংটি সম্ভবত এটির সাথে ঘটে না type="tel"বৈশিষ্ট্য নোটগুলি যা telকোনও নির্দিষ্ট বাক্য গঠন প্রয়োগ করে না, বিপরীত number, যার জন্য এটির মানটি একটি বৈধ ভাসমান-পয়েন্ট নম্বর হতে হবে
ররি ও'কেনে

এটা কতটুকু খারাপ? আমরা আমাদের মোবাইল গ্রাহকদের জন্য ফর্ম প্রক্রিয়াটি দ্রুত করার চেষ্টা করছি এবং এটি একটি সুস্পষ্ট সমাধানের মতো বলে মনে হচ্ছে তবে আমরা নির্ভরযোগ্য কিছুও চাই। আপনি এই পদ্ধতিটি ব্যবহারের বিরুদ্ধে কঠোর সতর্কতা পোস্ট করেছেন। আমি ভাবছি যদি আপনি এর উপর আরও কিছুটা ব্যাখ্যা করতে পারেন?
ফিল্ল_ট

@ ফিলিল_টি, একজন ব্যবহারকারীকে '000222' ডেটা প্রেরণের প্রয়োজন, তবে আপনি সার্ভারের পাশে '222' পেতে পারেন। আপনি দেখতে পাচ্ছেন না যে কার্যকারিতা পুরোপুরি ভেঙে গেছে? সার্ভারটি ভুল ডেটা পেয়েছে।
ব্যবহারকারী 907860

হ্যাঁ, আপনি কী বলতে চাইছেন তা আমি দেখতে পাচ্ছি, তবে আমি যা বলছি তা হ'ল: কত শতাংশ ব্যবহারকারী এটি দেখেন? এটি কি সাফারি এবং ক্রোমের মতো বড় মোবাইল ব্রাউজারগুলিতে সমস্যা? আপনি কীভাবে জানেন যে এটি একটি সমস্যা, সেখানে কোনও লিঙ্ক আপনি সরবরাহ করতে পারেন। আমি আপনাকে বিশ্বাস করি, আমি নিজেই গবেষণা করতে চাই এবং এর প্রস্তাব দেওয়ার মতো কিছুই দেখিনি, সম্ভবত আপনি আমাকে সঠিক দিকে নির্দেশ করতে পারেন। আমরা কেবল আমাদের গ্রাহক বেস এটি থেকে কোনও উপকার পাবেন না তা দেখার চেষ্টা করছি।
ফিল্ল_টি

4
@ ফিলিল_টি আমার মনে হয় এই সতর্কতার সর্বোত্তম উদাহরণ হ'ল জন্ম তারিখের ইনপুট ক্ষেত্র। যেখানে আপনাকে দিন, মাস এবং বছর ম্যানুয়ালি ইনপুট করতে হবে। এবং হ্যাঁ, এখনও প্রচুর ওয়েবসাইটগুলি সাধারণভাবে ব্যবহৃত তারিখ পিকারের পরিবর্তে এই স্টাইলটি ব্যবহার করে। জন্ম তারিখ ইনপুট ক্ষেত্রগুলিতে সমস্যা সম্পর্কিত, আপনি যখন "0" দিয়ে আপনার দিন বা মাস ইনপুট করেন, উদাহরণস্বরূপ 08.
রবিন কার্লো ক্যাটাকুটান

9

এই কাজ করা উচিত. তবে অ্যান্ড্রয়েড ফোনে আমার একই সমস্যা রয়েছে।

<input type="number" /> <input type="tel" />

আমি জানতে পেরেছি যে, আমি যদি জ্যাকারিমোবাইল-ফ্রেমওয়ার্কটি অন্তর্ভুক্ত না করি তবে কীপ্যাড দুটি ধরণের ক্ষেত্রে সঠিকভাবে প্রদর্শন করেছে।

তবে আপনাকে যদি সত্যিই জ্যাকোরিমোবাইল ব্যবহারের প্রয়োজন হয় তবে আমি এই সমস্যাটির সমাধানের জন্য কোনও সমাধান পাইনি।

আপডেট: আমি জানতে পেরেছি যে, যদি ফর্ম-ট্যাগটি বাইরে সংরক্ষণ করা হয়

<div data-role="page"> 

কীপ্যাড নম্বরটি দেখানো হয়নি। এটি অবশ্যই একটি বাগ হতে হবে ...


এটি খনন করার জন্য ধন্যবাদ। যদিও আমি নিশ্চিত তা নিশ্চিত নই: "যদি ফর্ম-ট্যাগটি ডিভ [ডেটা-রোল = পৃষ্ঠা] এর বাইরে সংরক্ষণ করা হয়" "। আমার ক্ষেত্রে সমস্যাটি এমন ফর্মগুলির সাথে ঘটে যাগুলি একটি ডিভির ভিতরে সুন্দরভাবে বাসা বেঁধে থাকে [তথ্য-ভূমিকা = পৃষ্ঠা]। সম্ভবত সমস্যাটি হ'ল এই পৃষ্ঠাগুলি আমার ক্ষেত্রে ডায়লগ হিসাবে প্রদর্শিত হচ্ছে?
উইটজে

9

inputmodeWHATWG স্পেক অনুসারে ডিফল্ট পদ্ধতি।

আইওএস ডিভাইসগুলির জন্য যুক্ত patternকরাও সহায়তা করতে পারে।

পশ্চাদপদ সামঞ্জস্যের জন্য typeক্রোম যেহেতু version 66 সংস্করণ ব্যবহার করে।

<input
  inputmode="numeric"
  pattern="[0-9]*"
  type="number"
/>

4
উত্তর দেওয়ার জন্য ধন্যবাদ, আমি খুঁজছেন ছিল decimalএবং এটি এখানে পাওয়া developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/...
রামি Alloush

3

কিছু ব্রাউজার আইগনার সার্ভারে নেতৃস্থানীয় শূন্য প্রেরণ করে যখন ইনপুট টাইপ "নম্বর" হয়। সুতরাং আমি একটি সংখ্যার কীপ্যাড লোড করতে jquery এবং html এর মিশ্রণটি ব্যবহার করি এবং এটিও নিশ্চিত করে তুলি যে মানটি কোনও সংখ্যা হিসাবে নয় পাঠ্য হিসাবে প্রেরণ করা হয়েছে:

$(document).ready(function(){
$(".numberonly").focus(function(){$(this).attr("type","number")});
$(".numberonly").blur(function(){$(this).attr("type","text")});
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="text" class="numberonly">


4
এটি অ্যান্ড্রয়েডের জন্য ক্রোমে একটি বিরক্তিকর সমস্যা সৃষ্টি করে। আপনি যখন ইনপুটটিতে ট্যাপ করবেন তখন কীবোর্ডটি আসে না । তারপরে আপনাকে অবশ্যই দ্বিতীয় বার পাঠ্যবক্সে আলতো চাপুন এবং তারপরে কীবোর্ডটি কেবলমাত্র নম্বর কীবোর্ডের সাথে উপস্থিত হবে। আমি সত্যিই চাই আমাদের কাছে একটি type="digits"বিকল্প ছিল যাতে আমাদের এই হ্যাকগুলি না নিতে হয়। আমার অর্থ, এটি শূন্য-শীর্ষস্থানীয় সংখ্যার মতো নয় যে বিরল (মার্কিন যুক্তরাষ্ট্রে জিপ কোডগুলি একটি সুস্পষ্ট উদাহরণ)।
জ্যাক্সিডিয়ান

4
আমিও একই সমস্যার মুখোমুখি! ফিল্ডকে "টাইপ = টেল" এ সেট করা এখনও সেরা সমাধান।
আলী শেখপুর

-2

input type = number

আপনি যখন একটি নম্বর ইনপুট সরবরাহ করতে চান, আপনি HTML5 ইনপুট টাইপ = "সংখ্যা" বৈশিষ্ট্য মানটি ব্যবহার করতে পারেন।

<input type="number" name="n" />

এখানে আইফোন 4 এ আসা কীবোর্ডটি রয়েছে:

এইচটিএমএল 5 ইনপুট টাইপ নম্বর অ্যান্ড্রয়েড 2.2 এর আইফোন স্ক্রিনশট টাইপ = সংখ্যার জন্য এই কীবোর্ডটি ব্যবহার করে:

এইচটিএমএল 5 ইনপুট ধরণের সংখ্যার অ্যান্ড্রয়েড স্ক্রিনশট


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