2011-07-25 19 views
6

मुझे काम करने के लिए यह बेहद सरल jsfiddle नहीं मिल सकता है। यह बटन क्लिक होने पर परीक्षण को सतर्क करना चाहिए। मुझे यहां क्या समझ नहीं आ रहा है?jsfiddle सवाल

http://jsfiddle.net/u9nG6/2/

+0

ग्रेट स्पष्टीकरण सभी, धन्यवाद। – Kory

+0

सरल टिप्पणी: 'क्लिक' बांधने के बजाय, आपको 'सबमिट' ईवेंट को जाल करना बेहतर होगा! –

उत्तर

8

आप कोई चादर (सिर) को लोड विधि बदलना होगा।

जावास्क्रिप्ट को लोड होने और विधि हस्ताक्षर पढ़ने के तरीके के साथ इसका कुछ संबंध है। http://jsfiddle.net/u9nG6/11/

+1

विशिष्ट होने के लिए: 'onDomReady' फ़ंक्शन को लपेटता है और यह केवल उस दायरे में मौजूद है। 'नो रैप' का अर्थ है कि कार्य वैश्विक दायरे में मौजूद है। –

0

आप jquery + ondomready का उपयोग कर रहे हैं। इसका मतलब यह है किसी भी जावास्क्रिप्ट आप लिखते भीतर

$(function() { 

और

}); 

इस एक गुंजाइश समस्या को जन्म देता रखा गया है। आप इसके बजाय निम्नलिखित कोशिश कर सकते हैं।

window.validateForm = function() { 
} 
2

jQuery ढांचे तो onDomReady लोड करने के लिए अपने समारोह jQuery गुमनाम समारोह $(function(){ }); में लिपटे और दिखाई नहीं देता है है चुना गया है। या तो no wrap (head) के रूप में लोड करने के लिए jQuery को बदलें या अपने कार्य को वैश्विक दायरे में परिभाषित करें।

2

here देखें।

आपको एचटीएमएल में इसका उपयोग करने में सक्षम होने के लिए वैश्विक दायरे में अपने validateForm फ़ंक्शन को परिभाषित करने की आवश्यकता है। अन्यथा आपने इसे के भीतर onDomReady ईवेंट के दायरे के रूप में परिभाषित किया था, जो उस दायरे से बाहर पहुंच योग्य नहीं है।

एक और अधिक "jQuery-ish" दृष्टिकोण इस तरह click घटना को संभालने के लिए jQuery का उपयोग करने के होगा:

$("#id_btnSubmit").click(validateForm); 

उस सुझाव का एक उदाहरण के लिए here देखें।

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