2016-10-28 6 views
8

मैं एक एचटीएमएल 5 रेंज इनपुटखाली होने के लिए रेंज इनपुट के डिफ़ॉल्ट मान को सेट करने का कोई तरीका है?

<input name="testing" type="range" min="0" max="10" step="1"> 

है जब कोई विशेषता "मूल्य" सेट, यह बीच में डिफ़ॉल्ट मान सेट (अर्थात इस मामले में 5)। क्या इसे खाली करने का कोई तरीका है ताकि मुझे पता चले कि उपयोगकर्ता सक्रिय रूप से कुछ इनपुट कर रहा है या नहीं?

मेरे पास मूल्य प्रदर्शन के लिए एक और div है। शुरुआत में मूल्य "?" होगा, इसलिए उपयोगकर्ता को पता चलेगा कि उन्होंने कुछ भी इनपुट नहीं किया है। समस्या इनपुट को सक्रिय रूप से सेट नहीं होने पर इनपुट को बैकएंड पर सबमिट करने से रोकने के लिए है।

उत्तर

6

दुर्भाग्य से इस [type=range] तत्व की एक संयम है:

डिफ़ॉल्ट मान है, जब तक अधिकतम न्यूनतम से कम है, कम से कम के साथ साथ न्यूनतम और अधिकतम के बीच आधे का अंतर है जो मामले में डिफ़ॉल्ट मान न्यूनतम है।

HTML5 Specification

आप कोई विकल्प नहीं है, तो अन्य की तुलना में इस तत्व का उपयोग करने के, मैं अपने श्रृंखला के लिए एक अतिरिक्त मूल्य जोड़ने, तो उस मान को चेक जब प्रपत्र मान्य सुझाव देना चाहेंगे। आईई। यदि आपकी वर्तमान सीमा 0 से 10 है, तो अपनी सीमा -1 से 10 बनाएं, फिर मान को -1 तक डिफ़ॉल्ट करें; सत्यापन पक्ष पर, जांच करें कि मान -1 के बराबर नहीं है या नहीं।

1

@James डोनेली का जवाब

के अनुसार मुझे लगता है कि यहाँ अपने समाधान अपनी खुद की जांच कर के लिए कुछ जे एस जोड़ना है।

उपयोगकर्ता बूलियन बदलें जब उपयोगकर्ता मूल्य बदलता है और परिवर्तन के लिए पूछता है।

यहां एक समाधान है जो आपकी मदद कर सकता है।

var rangechanged=false; 
 

 
$("#submit").click(function(){checkRange()}); 
 

 
function checkRange() 
 
{ 
 
    console.log(rangechanged); 
 
    if(rangechanged==false) 
 
    alert("You must lock the range first"); 
 
    
 
    return rangechanged; 
 
} 
 

 
$("#lockrange").click(function(){ 
 
    rangechanged=true; 
 
    $("#lockrange").hide(); 
 
}); 
 

 
$("#range").change(function(){ 
 
    rangechanged=true; 
 
    $("#lockrange").hide(); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 

 
<form> 
 
<input name="testing" id="range" type="range" min="0" max="10" step="1"> 
 
<button type="button" id="lockrange">Lock range</button> 
 
<button type="button" id="submit">Submit</button> 
 
</form>

0

आप क्या करना है, उसके बाद आप अपने इनपुट रेंजर बनाया है, उपयोग jQuery 0 करने के लिए उन सीमाओं प्रस्तुत करना है, और यह

काम करेगा
संबंधित मुद्दे

 संबंधित मुद्दे