2011-11-21 19 views
20

के बाद एक jquery फ़ंक्शन कॉल कैसे करें मेरे पास एक jquery फ़ंक्शन है और मुझे iframe में वेबसाइट खोलने के बाद इसे कॉल करने की आवश्यकता है।"एक्स" सेकंड

मैं एक आईफ्रेम में एक वेबलिंक खोलने की कोशिश कर रहा हूं और इसे खोलने के बाद मुझे नीचे दिए गए फ़ंक्शन को कॉल करने की आवश्यकता है। तो मैं यह कैसे कर सकता हूं?

:

<a id="various3" href="#"><asp:Button ID="Button1" 
runat="server" Text="Button" OnClientClick="Button2_Click"/></a> 

असल में इस सरल पृष्ठ मैं आ रही है:

<script type="text/javascript"> 
     $(document).ready(function(){ 
      $("#<%=Button1.ClientID%>").click(function (event) { 

      $('#<%=TextBox1.ClientID%>').change(function() { 
       $('#various3').attr('href', $(this).val()); 
      }); 
      $("#<%=Button2.ClientID%>").click(); 
     }); 
     }) 
    function showStickySuccessToast() { 
     $().toastmessage('showToast', { 
      text: 'Finished Processing!', 
      sticky: false, 
      position: 'middle-center', 
      type: 'success', 
      closeText: '', 
      close: function() { 

      } 
     }); 
    } 

    </script> 

यह मेरा बटन एक IFrame में लिंक को खोलने के लिए है:

यहाँ मेरी समारोह है enter image description here

और यह संदेश है

+0

तुम सिर्फ एक onclick उपयोग नहीं कर सकते:

आप के बाद ही आइफ्रेम लोड किया जाता है बटन ट्रिगर करना चाहते हैं, तो आप अगर यह लोड किया गया है की जाँच करें या iframe.onload उपयोग कर सकते हैं हैंडलर? मेरा मतलब है, अगर iframe लोड पर क्लिक करता है, तो क्या आप फ़ंक्शन को ऑनक्लिक चलाने के लिए भी सेट नहीं कर सकते? – bozdoz

+0

हाँ मैं कर सकता हूं लेकिन यह सिर्फ एक समय में दोनों को चमकता है। – coder

+0

ऐसा लगता है कि आप एएसपीएक्स () का उपयोग कर रहे हैं। यदि ऐसा है, तो आपको प्रश्न को एएसपीएक्स के रूप में भी टैग करना चाहिए था। –

उत्तर

78

आप जावास्क्रिप्ट में सामान्य सेटटाइमआउट विधि का उपयोग कर सकते हैं।

यानी ...

setTimeout(function(){ 
    // Do something after 1 second 
    } , 1000); 

अपने उदाहरण में, आप सीधे showStickySuccessToast उपयोग करने के लिए चाहते हो सकता है।

+0

आपके उत्तर के लिए पहला धन्यवाद और यदि मैं ऐसा करता हूं तो यह सिर्फ एक समय में दोनों को चमकता है हालांकि मैंने समय अंतराल 9sec पर सेट किया है। – coder

+1

क्या "उनमें से दोनों"? –

+0

@Stein जी Strindhaug- The Iframe के साथ ही संदेश। – coder

2

यदि आप वास्तविक पृष्ठ दिखा सकते हैं, तो संभवतः, हम आपको बेहतर तरीके से मदद कर सकते हैं।

<iframe .... onload='buttonWhatever(); '></iframe> 


<script type="text/javascript"> 

    function buttonWhatever() { 
     $("#<%=Button1.ClientID%>").click(function (event) { 
      $('#<%=TextBox1.ClientID%>').change(function() { 
       $('#various3').attr('href', $(this).val()); 
      }); 
      $("#<%=Button2.ClientID%>").click(); 
     }); 

     function showStickySuccessToast() { 
      $().toastmessage('showToast', { 
       text: 'Finished Processing!', 
       sticky: false, 
       position: 'middle-center', 
       type: 'success', 
       closeText: '', 
       close: function() { } 
      }); 
     } 
    } 

</script> 
+0

मैंने अपना प्रश्न अपडेट कर लिया है जिसका मतलब है कि मेरा मतलब क्या है! और मैं फैंक्सबॉक्स इफ्रेम का उपयोग कर रहा हूं वेबपेज प्रदर्शित करें। – coder

+0

मुझे फ्रेम के साथ बातचीत करने के बारे में बहुत कुछ पता नहीं है लेकिन मुझे जोखिम होगा: क्लिक फ़ंक्शन को $ ('# iframeID') में बदलने के बारे में। बच्चे ('# बटन')। क्लिक करें()? –

+0

असल में मैंने इसे फ़ंक्शन के बजाय बटन पर सेट टाइम आउट करके var timer = setTimeout (function() {$ ("# <% = बटन 2। क्लाइंट आईडी%>") पर क्लिक करके काम किया है। क्लिक करें();}, 9 000); और ठीक काम कर रहा है। वैसे भी आपके मूल्यवान उत्तर के लिए धन्यवाद मैं आपके सुझावों का प्रयास करूंगा। – coder

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