2012-01-03 21 views
10

मैं जावास्क्रिप्ट और jQuery का उपयोग कर इनपुट को मान्य करने की जरूरत है प्रस्तुत करते हैं जब कोई किसी कारण यह काम नहीं करता के लिए मेरे न्यूज़लेटर रूपjQuery त्रुटि फ़ॉर्म सत्यापन

सबमिट करें। यह किसी भी त्रुटि

यहाँ चेतावनी के बिना प्रपत्र सबमिट मैं अब तक है:

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.1/jquery.min.js"></script> 
    <script type="text/javascript"> 

    $(document).ready(function(){ 
    function go() { 
     if($('#name').val() == '') { 
      alert('error: name is required'); 
     } 
     $('form').submit(); 
    } 
    }); 


    </script> 
    </head> 

    <form method="post" action=""> 
    Name *<input type="text" name="name" id="name"/> 
    E-Mail *<input type="text" name="email" id="email"/> 

    <input class="submit" type="submit" value="Submit" name="submit" id="submit" onclick="go();"> 
    </form> 

क्यों मैं चेतावनी नहीं दिख रहा है जब मैं नाम पर कुछ भी नहीं डाला और उसके बाद प्रपत्र सबमिट?

+0

मैं उपयोग करने की अनुशंसा करता हूं: [jQuery सत्यापन] (http://docs.jquery.com/Plugins/Validation) –

उत्तर

15

सबमिट बटन पर onclick का उपयोग करने के बजाय, फॉर्म तत्व पर onsubmit="return go(); का उपयोग करें। या, jQuery $('form').submit(function(){ ... });

और, एक बार जब आपको कोई त्रुटि आती है, तो आपको फ़ंक्शन से return false की आवश्यकता होती है ताकि इसे किसी और को निष्पादित करने से रोका जा सके।

+0

तकनीकी रूप से सही होने पर, मैं दृढ़ता से क्लाइंट-साइड सत्यापन का उपयोग करने और विशेष रूप से 'अलर्ट() ' त्रुटियों को दिखाने के लिए बक्से। –

+1

क्या आप समझ सकते हैं कि आपका क्या मतलब है? –

+0

@ liho1eye आप इसके खिलाफ क्यों सलाह देंगे? यह सिर्फ एक हिस्सा है। सर्वर साइड सत्यापन आवश्यक है, लेकिन क्लाइंट साइड सत्यापन सर्वर को प्रसंस्करण के लिए फ़ॉर्म को पोस्ट करने से रोकने में मदद करता है अगर यह अपूर्ण है। जो समय और http अनुरोध बचाता है। – dakdad

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