मैं एक साधारण तथ्य के साथ संघर्ष कर रहा हूं कि एक विधि '.' (दशमलव/पूर्णस्टॉप/डॉट) सहित सभी संख्यात्मक मानों को अनुमति देगी। यहाँ मेरी विधि है। यह संख्यात्मक मानों की अनुमति देने के लिए काम कर रहा है। keyCode == 190 के साथ काम नहीं कर रहा है

function IsNumeric(e) {
    var keyCode = e.keyCode == 0 ? e.charCode : e.keyCode;
    var ret = (keyCode >= 48 && keyCode <= 57 && keyCode == 190);
    document.getElementById("error_numeric").style.display = ret ? "none" : "inline";
    return ret;
}

<input class="form-control" name="teacher_cnic" value="" onkeypress="return IsNumeric(event);" type="text" placeholder="12345.1234567.1" required>

इसे इस तरह के रूप में बुलाया जा रहा है onkeypress="return IsAlphaNumeric(event);"

1
Peter 13 जुलाई 2018, 09:40
हमें और कोड चाहिए ... विशेष रूप से, IsNumeric को कैसे कहा जा रहा है?
 – 
Jeremy J Starcher
13 जुलाई 2018, 09:43
कृपया चेक करें @JeremyJStarcher मैंने विवरण संपादित किया है
 – 
Peter
13 जुलाई 2018, 09:51
डॉट की जांच के लिए आपका कोड कहां है?
 – 
peeebeee
13 जुलाई 2018, 10:05
इसे जोड़ा नहीं गया है, लेकिन अगर मैं इसे जोड़ता हूं तो यह काम नहीं करता है
 – 
Peter
13 जुलाई 2018, 10:08
कृपया एक उदाहरण प्रदान करें जो समस्या का वर्णन करता है, न कि एक जो नहीं करता है - न्यूनतम प्रतिलिपि प्रस्तुत करने योग्य उदाहरण
 – 
peeebeee
13 जुलाई 2018, 10:09

2 जवाब

keyCode के दूसरे परीक्षण के लिए && को || में बदलें

function IsNumeric(e) {
        var keyCode = e.keyCode == 0 ? e.charCode : e.keyCode;
        var ret = ((keyCode >= 48 && keyCode <= 57) || keyCode == 190);
        document.getElementById("error_numeric").style.display = ret ? "none" : "inline";
        return ret;
    }
2
peeebeee 13 जुलाई 2018, 10:16
धन्यवाद! लेकिन यह काम नहीं करता। मैंने इसे पहले और बार-बार कोशिश की लेकिन यह केवल संख्यात्मक मानों की अनुमति दे रहा है।
 – 
Peter
13 जुलाई 2018, 10:20
क्या आप समस्या को jsfiddle में प्रदर्शित कर सकते हैं?
 – 
peeebeee
13 जुलाई 2018, 10:21
मुझे समाधान मिल गया। यह कीकोड है जिसे 46 पर सेट किया गया था क्योंकि मैं ऑनकीप्रेस का उपयोग कर रहा हूं। आपकी सहायताके लिए धन्यवाद!
 – 
Peter
14 जुलाई 2018, 07:44

जैसे ही ईवेंट ट्रिगर होता है onkeypress , इस ईवेंट के लिए दशमलव/पूर्ण स्टॉप/पॉइंट कीकोड keyCode=46 है

तो फ़ंक्शन का सशर्त तर्क इस प्रकार होगा,

var ret = ((keyCode >= 48 && keyCode <= 57) || keyCode == 46);

और यही समस्या का समाधान करता है।

1
Peter 14 जुलाई 2018, 07:43