2011-10-21 21 views
5

हमारे पास a4j:outputPanel है जो ajaxRendered है। प्रत्येक बार जब यह (पुनः) प्रस्तुत किया जाता है तो जावास्क्रिप्ट फ़ंक्शन को कॉल करने का कोई तरीका है? मुझे पता है कि हम प्रत्येक तत्व में कॉल कर सकते हैं जो संभवतः oncomplete के साथ सबमिट कर सकता है, लेकिन यह वास्तव में व्यावहारिक रूप से बनाए रखने योग्य नहीं है।JSF 1.2/Richfaces 3.3 में प्रस्तुत करने पर जावास्क्रिप्ट फ़ंक्शन को कैसे कॉल करें?

विवरण:

  • JSF 1.2
  • Richfaces 3,3

उदाहरण (oncomplete outputPanel टैग पर वास्तव में उपलब्ध नहीं है):

<a4j:outputPanel ajaxRendered="true" oncomplete="myJSFunc()"> 
    <h:outputText value="Test-aroo" /> 
</a4j:outputPanel> 
<!-- other inputs, buttons and stuff --> 

अद्यतन शायद jQuery लाइब्रेरी मदद करने में सक्षम हो (यह है RichFaces में बनाया गया)? मैं अपूर्ण घटना के साथ शायद पंजीकरण करने के लिए .live() का उपयोग कर रहा हूं। मैं प्रगति के साथ प्रयोग और अद्यतन रखेंगे।

अद्यतन मुझे jQuery समाधान को लागू करने का मौका नहीं मिला, लेकिन जैसा कि मेरा उत्तर myJSFunc() से नीचे दिखाया गया है, सीधे प्रस्तुत किए गए टैग के अंदर रखा जा सकता है।

उत्तर

8

एक समाधान outputPanel अंदर एक स्क्रिप्ट टैग में जावास्क्रिप्ट डाल करने के लिए है:

<a4j:outputPanel ajaxRendered="true"> 
    <h:outputText value="Test-aroo” /> 
    <script type=”text/javascript”>myJSFunc();</script> 
</a4j:outputPanel> 
0

आपको अजाक्स अनुरोध को दूर करने वाले घटक पर अधूरा कॉल करने की आवश्यकता होगी। a4j: outputPanel में अपूर्ण विशेषता नहीं है।

+0

ठीक है, मैं समझता हूँ कि outputPanel एक oncomplete विशेषता नहीं है। उन सभी पर अधूरा प्रबंधन करने के लिए बहुत सारे घटक हैं। मैं वैश्विक स्तर पर घटना को सुनना चाहता हूं। – Adam