2012-02-01 9 views
6

मेरे पास एक साधारण जावास्क्रिप्ट फ़ंक्शन है जो दो चर लेता है। मुझे इस जावास्क्रिप्ट फ़ंक्शन में मेरे ऑब्जेक्टिव-सी (आईओएस) एप्लिकेशन में पहले से मौजूद दो चर पारित करने की आवश्यकता है। जावास्क्रिप्ट को चलाने के लिए कोड की मेरी लाइन है:उद्देश्य-सी से जावास्क्रिप्ट फ़ंक्शन से पास चर?

[webView stringByEvaluatingJavaScriptFromString:@"onScan()"]; 

जावास्क्रिप्ट समारोह सिर्फ एक HTML फ़ॉर्म दो चर लागू होता है और यह सबमिट करता है। वे निश्चित रूप से मेरे रूप में अपरिभाषित हो रहे हैं क्योंकि चर गुम हैं। 8-) मैं इस पर अधिक दस्तावेज नहीं ढूंढ पा रहा हूं, लेकिन शायद मैं गलत जगहों पर देख रहा हूं?

एफडब्ल्यूआईडब्ल्यू, मेरे उद्देश्य-सी चर तार हैं।

मैं चर में से प्रत्येक के आसपास एकल उद्धरण रख कर यह काम कर प्राप्त करने में सक्षम था जावास्क्रिप्ट कार्य करने के लिए पारित किया जा रहा: मेरी जावास्क्रिप्ट समारोह onscan(a,b)

अद्यतन है। अद्यतन कोड है:

[webView stringByEvaluatingJavaScriptFromString:@"onScan('%@','%@')",a,b]; 

उत्तर

9

stringByEvaluatingJavaScriptFromString: लेता है एक NSString तो तुम सब करने की है stringWithFormat: और नीचे की तरह %@ वस्तु फ़ॉर्मेटर का उपयोग कर तार गठबंधन है: NSString के लिए

NSString *stringOne = @"first_parameter"; 
NSString *stringTwo = @"second_parameter"; 

NSString *javascriptString = [NSString stringWithFormat:@"onScan('%@','%@')", stringOne, stringTwo]; 

[webView stringByEvaluatingJavaScriptFromString:javascriptString]; 

चेक बाहर एप्पल के प्रलेखन, यह एक बेहद उपयोगी वस्तु!

+0

धन्यवाद, मैंने पहले से ही कोशिश की थी और मुझे अपने UIWebView को पास करने के लिए कुछ भी नहीं मिला। मैंने कोड को वापस रखा (जैसे आपने ऊपर किया था) और स्ट्रिंग को एनएसएलॉग में रखा ताकि यह सुनिश्चित किया जा सके कि चीजें कोशेर थीं, लेकिन किसी कारण से जावास्क्रिप्ट फ़ंक्शन इस विधि का उपयोग करके उन चरों का उपयोग नहीं कर रहा है। अजीब है कि जब मैं स्ट्रिंग में कोई चर नहीं डालता हूं तो मुझे फॉर्म टेक्स्ट वैल्यू बॉक्स में अपरिभाषित किया जाता है। –

+1

मैं सिंगल कोट्स में फ़ंक्शन को पास करने के लिए चर को लपेटकर इसे हल करने में सक्षम था। मैंने जवाब के साथ अपना प्रश्न अपडेट किया है। –

+0

व्हाउप्स इसे पकड़ने के लिए धन्यवाद, मैंने अपना जवाब भी अपडेट किया है। मैं इस भावना से गड़बड़ कर रहा था कि मैं कुछ भूल रहा था ... –

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