بتاريخ: 1 أكتوبر 201114 سنة comment_216088 قمت بعمل adf page مربوطه بقاعدة بيانات فيها بعض الحقول لاكن اريد عند الخروج "on lost focus"من حقل ما تغيير قيمة وشكرا تقديم بلاغ
بتاريخ: 2 أكتوبر 201114 سنة comment_216118 ما تحتاجه هو function جافا سكريبت و كمان client listener على ال input text اللى عاوز تغير قيمته لما تفقد ال focus عليه وبالتالى حتيجى فى الصفحه عندك بعد ال <af:document> وتكتب كده <af:resource type="javascript"> function myMethod(evt) { var comp = evt.getSource(); comp.setValue('new Value'); } </af:resource> وعلى ال input Text اللى عاوز تعمل ال lost focus عليه حتضع داخله client Listener يشاور على الميثود دى كالتالى <af:inputText value="#{bindings.LastName.inputValue}" label="#{bindings.LastName.hints.label}" required="#{bindings.LastName.hints.mandatory}" columns="#{bindings.LastName.hints.displayWidth}" maximumLength="#{bindings.LastName.hints.precision}" shortDesc="#{bindings.LastName.hints.tooltip}" id="it3"> <f:validator binding="#{bindings.LastName.validator}"/> <af:clientListener method="myMethod" type="blur"/> </af:inputText> تقديم بلاغ
بتاريخ: 3 أكتوبر 201114 سنة كاتب الموضوع comment_216137 شكرا Hala Salem لاكن اريد ان يتم التغيير من كود جافا وليس جافا سكريبت تقديم بلاغ
بتاريخ: 3 أكتوبر 201114 سنة comment_216158 ما دام انت عاوز حاجه عند ال client يبقى لازم كود جافا سكريبت ومش حتفرق جافا او جافا سكريبت المهم تنفيذ ما تريده تقديم بلاغ
بتاريخ: 4 أكتوبر 201114 سنة comment_216179 يوجد لديك حلين: إما استخدام ValueChangeListener أو Converter مع وجود خاصية autoSubmit للأداة حتى يتم التنفيذ. الأخت هالة:لم يذكر الأخ السائل أنه يريد التنفيذ عند الـ client كما أنه توجد أكواد لا نستطيع تنفيذها من خلال JavaScript مثل الاتصال على قاعدة البيانات ولذلك طالما هو يريد التنفيذ من خلال كود جافا فهذا يعني أنه يريد تنفيذ كود لا يمكن تنفيذه من خلال JavaScript تقديم بلاغ
بتاريخ: 4 أكتوبر 201114 سنة كاتب الموضوع comment_216187 صحيح ياخوان القيمة موجودة في قاعدة البيانات قمت بعمل الكود التالي لاكن العملية تنفذ لاكن القيمة لاتتغير على الشاشة <af:inputText value="#{bindings.FormNo.inputValue}" label="#{bindings.FormNo.hints.label}" required="#{bindings.FormNo.hints.mandatory}" columns="#{bindings.FormNo.hints.displayWidth}" maximumLength="#{bindings.FormNo.hints.precision}" shortDesc="#{bindings.FormNo.hints.tooltip}" id="it33" binding="#{aa.it33}" autoSubmit="true" > <af:clientListener method="onBlurTxtField" type="blur"/> <af:serverListener type="onBlurNotifyServer" method="#{aa.onBlurNotify}"/> <f:validator binding="#{bindings.CitizenFormNo.validator}"/> </af:inputText> <af:resource type="javascript"> function onBlurTxtField(evt){ var source = evt.getSource(); var custEvent = new AdfCustomEvent(source,"onBlurNotifyServer", {},true); custEvent.queue(); } </af:resource> والجافا كود public void onBlurNotify(ClientEvent clientEvent) { it33.setValue("z"); } تقديم بلاغ
بتاريخ: 4 أكتوبر 201114 سنة comment_216189 ضيف السطر التالى للكود بتاعك فى (onBlurNotify)AdfFacesContext.getCurrentInstance().addPartialTarget(it33) تقديم بلاغ
بتاريخ: 4 أكتوبر 201114 سنة كاتب الموضوع comment_216192 ضيف السطر التالى للكود بتاعك فى (onBlurNotify)AdfFacesContext.getCurrentInstance().addPartialTarget(it33) شكرا هذا هو المطلوب تقديم بلاغ
بتاريخ: 4 أكتوبر 201114 سنة comment_216193 أرى أن تحذف كل هذه الدوال وتضع فقط ValueChangeListener بالإضافة إلى وضع خاصية partialTrigger لتمثل id الحقل نفسه حيث أنه في هذه الحالة لا يلزم كتابة أي كود جافا سكريبت تقديم بلاغ
بتاريخ: 5 أكتوبر 201114 سنة كاتب الموضوع comment_216212 أرى أن تحذف كل هذه الدوال وتضع فقط ValueChangeListener بالإضافة إلى وضع خاصية partialTrigger لتمثل id الحقل نفسه حيث أنه في هذه الحالة لا يلزم كتابة أي كود جافا سكريبت طيب ممكن توضيح بكود تقديم بلاغ
بتاريخ: 5 أكتوبر 201114 سنة comment_216228 في الصفحة ضع الكود التالي:<af:inputText value="#{bindings.FormNo.inputValue}"label="#{bindings.FormNo.hints.label}"required="#{bindings.FormNo.hints.mandatory}"columns="#{bindings.FormNo.hints.displayWidth}"maximumLength="#{bindings.FormNo.hints.precision}"shortDesc="#{bindings.FormNo.hints.tooltip}"id="it33"binding="#{aa.it33}"autoSubmit="true"valueChangeListener="#{aa.formNoChanged}"partialTrigger="it33"/>في الـ beanpublic void formNoChanged(ValueChangeEvent vce){ it33.setValue("z");}تأكد من أسماء الحقول والخصائص لنني كتبت الكود باليد ومن الذاكرة تقديم بلاغ
بتاريخ: 5 أكتوبر 201114 سنة كاتب الموضوع comment_216231 طيب وين <af:clientListener method="myMethod" type="blur"/>شو عرفو السرفر الافنت blur ولا clickالخ ولوكانت العملية عند الخروج من input1 يغير قيمة input2 تم تعديل 5 أكتوبر 201114 سنة بواسطة superamh تقديم بلاغ
انضم إلى المناقشة
يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.