java - How to disable/re-enable JSF component using javascript? -


मैं एक जावा ईई अनुप्रयोग (जेएसएफ 2 + रिफाफेस 3.3.3 + फेसलेट) विकसित कर रहा हूं।

मैं अपने एच को निष्क्रिय करना चाहता हूं: चयन करेंऑनमेनू जब मेरा पृष्ठ लोड हो रहा है, और जब यह लोड हो रहा है (फंक्शन ऑनलोड () का उपयोग करके), तो मैं अपना घटक फिर से सक्षम करना चाहता हूं I मेरे पास ऐसा कुछ है:

  & lt; ui: परिभाषित नाम = "infosHead" & gt; & Lt; स्क्रिप्ट प्रकार = "टेक्स्ट / जावास्क्रिप्ट" & gt; Window.onload = function () {document.getElementById ("forme1_myform: valueCh")। अक्षम = false; चेतावनी ( "यहाँ"); } & Lt; / script & gt; & Lt; / ui: परिभाषित & gt; & Lt; ui: परिभाषित करें नाम = "इंफोसबीडी" & gt; & Lt; h: फ़ॉर्म आईडी = "forme1_myform" target = "_ blank" & gt; & Lt; h: selectOneMenu आईडी = "valueCh" मान = "# {mybean.value}" अक्षम = "सच" & gt; & Lt; f: चयनआइटम मान = "# {mybean.values}" / & gt; & Lt; a4j: support event = "onchange" ajaxSingle = "true" limitToList = "true" रीरेंडर = "id1, id2, ...." अनदेखा करेंड्यूपर्सपॉन्सस = "सच" एक्शन = "# {mybean.actionme}" अपूर्ण = " getId (); "/ & gt; & Lt; / h: selectOneMenu & gt; & Lt; / h: प्रपत्र & gt; & Lt; / ui: परिभाषित & gt;  

यह ठीक काम कर रहा है

ऐसा लगता है जैसे वह सोचता है कि घटक अभी भी अक्षम है।

मैं यह कैसे काम कर सकता हूँ?

यह कुछ भी नहीं मिल रहा है (mybean.value == null)। >

समस्या यह है कि आप केवल क्लाइंट साइड पर अपने घटक को सक्षम कर रहे हैं। सर्वर साइड पर यह हमेशा disabled = "true" होगा। यह काम करने के लिए आपको चाहिए:

a अपने घटक की अक्षम संपत्ति को प्रबंधित बीन प्रॉपर्टी में निर्दिष्ट करें जो कि शुरू में 'सच्चा' होगा।

disabled = "# {myController.valueChDisableStatus}"

ख। आपके एच के अंदर: फॉर्म डालें विंडो। डाउनलोड = कॉल स्क्रिप्ट

c अंत में, myController # someAction मेथड में valueChDisableStatus संपत्ति को झूठा सेट

मैं अभी समाधान की जांच नहीं कर सकता, लेकिन मेरा मानना ​​है कि यह ठीक काम करेगा ।


Comments