मेरे पास एक <input type="number" है जो अधिकतम दो अंक संग्रहीत कर सकता है। यह event.preventDefault(); का उपयोग करके हासिल किया जाता है।

function allowMaxNumbers(element, event, maxLength){
if(element.value.length==maxLength&& event.keyCode!=8 && event.keyCode!=46 && event.keyCode!=9){
    if (event.preventDefault){
        event.preventDefault();
    }    
    return false;
}

}

यदि उपयोगकर्ता किसी अन्य संख्या में इनपुट और प्रकार का चयन करता है, तो पुराने इनपुट के स्थान पर नया नंबर इनपुट किया जाना चाहिए। क्या जावास्क्रिप्ट/jQuery में यह पता लगाने का कोई तरीका है कि इनपुट में कुछ टेक्स्ट चुना गया है या नहीं?

मैंने प्रश्न का अनुसरण किया टेक्स्टबॉक्स में चुना गया है? और input.selectionStart और input.selectionEnd को आजमाया लेकिन वह input type="number" के लिए काम नहीं कर रहा है

1
Peter 19 पद 2018, 14:37

2 जवाब

सबसे बढ़िया उत्तर

आप नंबर के बजाय टेल का उपयोग कर सकते हैं जैसे:

<input type="tel" name="anything" />

तो आपका संपादन बॉक्स अभी भी केवल संख्या स्वीकार करता है और input.selectionStart और input.selectionEnd मान्य हैं।

कृपया यह लिंक देखें: 'HTMLInputElement' पर 'setSelectionRange' को निष्पादित करने में विफल ': इनपुट तत्व का प्रकार ('नंबर') चयन का समर्थन नहीं करता है

2
Mehrdad Babaki 19 पद 2018, 14:49

प्रकार संख्या के लिए चयन प्रारंभ, चयन समाप्ति की अनुमति नहीं है। आपको टाइप को टेक्स्ट या अन्य वैध प्रकार में बदलना होगा।

इसे देखें: http://www.whatwg.org/specs/web-apps/current-work/multipage/the-input-element.html#do-not-apply

इसे भी जांचें: selectionStart/selectionEnd on input type="number" Chrome में अब अनुमति नहीं है

0
lbhise 19 पद 2018, 15:13