2012-04-18 14 views
5

मैं यह देखने का प्रयास कर रहा हूं कि टेक्स्ट फ़ील्ड की लंबाई कम से कम एक निश्चित लंबाई है या नहीं। यहां मेरे कोड है:टेक्स्ट फ़ील्ड मान लंबाई की जांच

<form name="form2" id="form2" onsubmit="return validate()"> 
length 4: <input type="text" name = "t" id="t" /> 
<input type="button" name="submit" value="submit" /> 
</form> 

<script> 
function validate() { 
    document.write("good"); 
    submitFlag = true; 
    if(document.form2.t.value.length!=4){ 
     submitFlag=false; 
     alert("ivalid length - 4 characters needed!"); 
    } 
    return submitFlag; 
} 
</script> 

जब मैं सबमिट क्लिक करें, कुछ नहीं होता।

+1

आप 'document.write() का उपयोग कर रहे' गलत संदर्भ में फिर से ... – Teemu

उत्तर

0

आप शायद, से अधिक या उसके (> =) बराबर करना चाहते हैं (! =) बराबर नहीं अगर आप चाहते हैं "कम से कम एक निश्चित लंबाई"

4

के बजाय टाइप करने के लिए = अपने बदले सबमिट बटन "सबमिट करें" । फॉर्म कभी सबमिट नहीं किया जा रहा है इसलिए वैध कार्य नहीं कहा जा रहा है।

0

आपका बटन होना चाहिए

<input type="submit" name="submit" value="submit" /> 

अन्यथा onsubmit घटना घटित नहीं होगा। इसके अलावा, document.write() के बजाय, डिबगिंग के लिए console.log() का उपयोग करें।

0

मैंने धब्बेदार विभिन्न त्रुटियों:

  • document.write() का उपयोग नहीं करते, यह वर्तमान में खुले दस्तावेज़
  • form2 के ऊपर लिख देगा document का कोई संपत्ति है। आप document.forms.form2 का उपयोग कर सकते हैं, लेकिन document.getElementById("t") सरल है
  • आपकी अभिव्यक्ति "कम से कम 4" की जांच नहीं करती है, यह "बिल्कुल 4" की जांच करती है।
  • आपका बटन कुछ भी सबमिट नहीं करेगा। आप निवेश के लिए एक pattern=".{4}" निर्दिष्ट या यह एक required विशेषता
+0

1. क्या मैं जगह में प्रयोग करते हैं? बस एक div को संदेश लिखें? 2. फॉर्म 2 फॉर्म के लिए नाम/आईडी है। मुझे लगता है कि मैं इस ट्यूटोरियल पुस्तक का उपयोग कर रहा हूं जो वास्तव में पुराना होना चाहिए .... 3. क्या न्यूनतम/अधिकतम लंबाई के लिए जावास्क्रिप्ट का उपयोग करने का कोई फायदा है? – droidus

+0

हां, दस्तावेज़ लोड होने के बाद आपको डीओएम में हेरफेर करने की आवश्यकता है; उदाहरण के लिए एक div के आंतरिक पाठ में हेरफेर करें। @ एचटीएमएल 5 सत्यापन: लाभ यह है कि आपको जावास्क्रिप्ट (आधुनिक ब्राउज़रों में) की आवश्यकता नहीं होगी। बीटीडब्ल्यू: न्यूनतम/अधिकतम केवल संख्याओं के लिए हैं – Bergi

0

वहाँ कुछ मुद्दों है कि आप है दे सकता है यह <button type="submit"> या <input type="submit" />

  • के लिए परिवर्तित करें। 1) आपको अपना इनपुट सबमिट बटन बनाना होगा और 2) आपको अपना document.write() कथन निकालना होगा। निम्नलिखित (or see this jsFiddle) करने के लिए अपने कोड में परिवर्तित करें:

    <form name="form2" id="form2" onsubmit="return validate()"> 
    length 4: <input type="text" name = "t" id="t" /> 
    <input type="submit" name="submit" value="submit" /> 
    </form> 
    
    <script> 
    function validate() { 
        submitFlag = true; 
        if(document.form2.t.value.length!=4){ 
         submitFlag=false; 
         alert("ivalid length - 4 characters needed!"); 
        } 
        return submitFlag; 
    } 
    </script>​​​​ 
    

    आप बहुत करीब थे, लेकिन आपको लगता है कि कोड पर कुछ सफाई इस्तेमाल कर सकते हैं (नोट: मैं किसी भी प्रदान नहीं किया)।

  • 1

    इनपुट प्रकार "सबमिट करें"

    <form name="form2" id="form2" onsubmit="return validate()"> 
        length 4: <input type="text" name = "t" id="t" /> 
        <input type="submit" name="submit" value="submit" /> <!--INPUT TYPE MUST BE SUBMIT --> 
        </form> 
    
        <script> 
        function validate() { 
         document.write("good"); 
         submitFlag = true; 
         if(document.form2.t.value.length!=4){ 
          submitFlag=false; 
          alert("ivalid length - 4 characters needed!"); 
         } 
         return submitFlag; 
        } 
    </script> 
    
    0

    आप भी अपने पाठ इनपुट के लिए एक maxlength विशेषता जोड़ने चाहिए, यह उपयोगकर्ता में मदद करेंगे की जरूरत है।

    <form name="form2" id="form2" onsubmit="return validate();"> 
        <input type="text" name="t" id="t" maxlength="4"/> 
        <input type="submit" name="submit" value="submit"/> 
    </form> 
    
    <script type="text/javascript"> 
        function validate() 
        { 
         if (document.getElementById("t").value.length != 4) 
         { 
          alert("Invalid length, must be 4 characters"); 
          return false; 
         } 
         return true; 
        } 
    </script> 
    
    संबंधित मुद्दे