2009-06-23 7 views
8

पर लिखें मेरे पास एक HTML पृष्ठ है जो जावास्क्रिप्ट के माध्यम से एक और पृष्ठ खोलता है। जब कोई उपयोगकर्ता दूसरे पृष्ठ में किसी बटन पर क्लिक करता है, तो मैं JQuery के माध्यम से उद्घाटन पृष्ठ के डीआईवी में एक संदेश पोस्ट करना चाहता हूं। मैं अपनी उंगली उस पर नहीं डाल सकता, लेकिन मुझे यह काम करने के लिए प्रतीत नहीं होता है। यहां मेरा ओपनर पेजJQuery - ओपनर विंडो

<html> 
    <head> 
    <script type="text/javascript" src="jquery-1.3.2.min.js"></script> 
    </head> 

    <body> 
    <input type="button" onclick="window.open('dialog.html', '_blank', 'height=200, width=300');" value="launch!" /> 
    <div id="testDiv"></div> 
    </body> 
</html> 

जब उपयोगकर्ता "लॉन्च" पर क्लिक करता है बटन, एक संवाद दिखाई देगा। संवाद के लिए कोड इस तरह दिखता है:

<html> 
    <head> 
    <script type="text/javascript" src="jquery-1.3.2.min.js"></script> 
    </head> 

    <body> 
    <input type="button" onclick="updateOpener()" value="Update Opener" /> 
    <script type="text/javascript"> 
     function updateOpener() 
     { 
     var testDiv = window.opener.jQuery("#testDiv"); 
     if (testDiv != null) { 
     alert("here"); 
     testDiv.html("Updated!"); 
     } 
     } 
    </script> 
    </body> 
</html> 

आश्चर्य की बात है, अलर्ट बॉक्स दिखाई देता है। हालांकि, मैं अपने शुरुआती पृष्ठ में डीआईवी के एचटीएमएल को अपडेट नहीं कर सकता। क्या किसी को भी यह करना आता है?

+0

उपर्युक्त कोड मेरे लिए काम करता है। –

+0

उसने बस इसे अपने संपादन के साथ तय किया। – montrealist

उत्तर

5

आप "confirmDiv" का संदर्भ दे रहे हैं। वह डीवी कहां है?

+3

यह ओपी का मुद्दा था। उन्होंने इस जवाब के बाद अपना कोड तय किया, और अब यह काम करता है। – Sev

0

Ummm, यह फ़ायरफ़ॉक्स 3.0.11 में मेरे लिए काम करता, IE8 और क्रोम 2 ... (Ie dialog.html HTML बटन सलामी बल्लेबाज पेज में अपडेट हो जाता है 'अपडेट किया गया!' कहने के लिए।)

0

अजीब तरह , आपका उदाहरण क्रोम, आईई 8 और फ़ायरफ़ॉक्स में मेरे लिए ठीक काम करता है। क्या आपके पास कोई अन्य विवरण है?

2

यदि आप मूल पृष्ठ (सलामी बल्लेबाज) किसी दूसरे डोमेन पर रहते हैं तो आप ऐसा नहीं कर सकते हैं। अन्यथा, आपका कोड पूरी तरह से काम करता है।

इसके अलावा, आपका! = नल चेक शायद ऐसा नहीं कर रहा है जो आपको लगता है कि यह कर रहा है, क्योंकि jQuery फ़ंक्शन कभी भी शून्य नहीं करता है। यदि आप किसी तत्व के अस्तित्व की जांच कर रहे हैं, तो आपको इसे इस तरह से करने की आवश्यकता है ...

var el = $("#myElementId"); 
if(el.length == 0) 
    alert('Not found!'); 
संबंधित मुद्दे