2012-12-04 18 views
9

मैं अपने फोनगैप ऐप में एक त्रुटि संदेश प्रदर्शित करने के लिए फोनगैप अधिसूचना का उपयोग करने की कोशिश कर रहा हूं, और उसके बाद उपयोगकर्ता को त्रुटि ईमेल करने की अनुमति देता है। एकमात्र समस्या यह है कि मैं त्रुटि संदेश को कॉलबैक फ़ंक्शन पर पास नहीं कर सकता, ईमेल को बेकार भेज रहा हूं।नेविगेटर.notification.confirm के साथ दो तर्क पारित करें?

कोड मैं अब इस तरह दिखता है:

function displayError(errormsg) { 
    navigator.notification.confirm(
            errormsg, 
            onConfirm, 
            'Error', 
            'Submit, Cancel' 
            ); 
} 
function onConfirm(buttonIndex){ 
    if (buttonIndex === 1){ 
     alert(errormsg); 
    } 

} 

कौन सा displayError("Test") द्वारा कहा जाता है, जो त्रुटि सामग्री Test होगा। मैं को onConfirm पर पास करना चाहता हूं, लेकिन मुझे नहीं पता कि यह कैसे करना है, या यदि यह संभव है।

function displayError(errormsg) { 
    test = errormsg 
    navigator.notification.confirm(
            errormsg, 
            onConfirm, 
            'Error', 
            'Submit, Cancel' 
            ); 
} 
function onConfirm(buttonIndex){ 
    if (buttonIndex === 1){ 
     alert(test); 
    } 

} 

लेकिन अगर एक नया त्रुटि प्रदर्शित किया जाता है कि errormsg परिवर्तन नहीं करता है:

सम्भावित समाधान मैं विचार कर रहा था इस था। मैंने इसकी पुष्टि की क्योंकि सिम्युलेटर सेटिंग में, मेरा ऐप दो त्रुटियों को फेंकता है। पहला तरीका test पर गुज़रने के दौरान उस विधि का उपयोग करते समय ठीक काम करता है, लेकिन फिर दूसरी त्रुटि जो सीधे निम्नानुसार है, मूल चर का उपयोग करती है।

उत्तर

34
function displayError(errormsg) { 
    navigator.notification.confirm(
     errormsg, 
     function(buttonIndex){ 
      onConfirm(buttonIndex, errormsg); 
     }, 
     'Error', 
     'Submit, Cancel' 
     ); 
} 
function onConfirm(buttonIndex, errormsg){ 
    if (buttonIndex === 1){ 
     alert(errormsg); 
    } 

} 

किसी अज्ञात फ़ंक्शन में इसे लपेटने के बारे में क्या? इस तरह आप गुंजाइश बनाए रखते हुए, जितना चाहें उतने पैरामीटर पास कर सकते हैं।

+0

पूरी तरह से काम करता है। मैंने इस बारे में भी नहीं सोचा था ... – Charlie

+0

यह आपको तब भी मदद करता है जब आपको दायरा रखने की आवश्यकता होती है और 'var' के बजाय 'var self = this'' का उपयोग किया जाता है। विचार के लिए धन्यवाद! – escapedcat

+0

मुझे आश्चर्य है कि क्यों 22 उपयोगकर्ताओं ने इस जवाब को उखाड़ फेंक दिया लेकिन सवाल को ऊपर नहीं उठाया। इस साइट में रेटिंग सिस्टम वांछित होने के लिए बहुत कुछ छोड़ देता है ... – andreszs

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

  • कोई संबंधित समस्या नहीं^_^