How to execute javascript function after bean method is finished in JSF -



How to execute javascript function after bean method is finished in JSF -

i want phone call javascript function after related action fired , related bean method finished. see related in question - proccess onclick function after ajax phone call <f:ajax>, utilize onevent handler of f:ajax.

after commandbutton id plnhiddenbtn fired, "preparetempplan" method of bean called. during process of "preparetempplan", can see info taken db , contained variable - "specdates" successfully, when "data.status" "complete".

however, the object on "specdates" can't passed bean client-side first-click of commandbutton. after first click of commandbutton, refresh page. when click button sec time, can object bean. can check if object bean passed or not alert message - alert(dates) in "updatecalendar" method of .js file.

how can object after action of commandbutton fired , related bean method finished?

all feedbacks appreciated!

.xhtml file;

<input jsfc="h:commandbutton" id="plnhiddenbtn" class="hiddenbtn" action="#plancalendarfacade.preparetempplan}"> <f:ajax execute="mainform" onevent="updateaddeddayplns" render="plnname" /> </input> <h:inputhidden id="specdates" value="#{plancalendarfacade.specdates}"/>

.js file;

function updateaddeddayplns(data){ var status = data.status; // can "begin", "complete" or "success". switch (status) { case "begin": // before ajax request sent. alert("begin"); break; case "complete": // after ajax response arrived. alert("complete"); break; case "success": // after update of html dom based on ajax response.. alert("success"); $('.addeddayplnlst li:first').addclass('ui-selected'); updatecalendar(); //<-this important-> dayplnind = 0; break; } } function updatecalendar(){ var dates = document.getelementbyid('mainform:specdates').value; dates = json.parse(dates); alert(dates); }

bean file;

public class plancalendarfacade { ... private object specdates = new string("hello"); ... public void preparetempplan() { plan plan = null; // find plan based on specific plan-id (slctdplnid). (int = 0; < plans.size(); i++) if ( plans.get(i).getplan_id() == slctdplnid ) plan = plans.get(i); if (plan == null){ // "add user group" operation, tempplan = new plan(); newrecflag = false; }else{ // "update , delete user group" operations. tempplan = plan; newrecflag = true; getspecificdayplansfromdb(plan.getplan_id()); getalldatesfromdb(); } }

edit :

i pruned codes read easily.

i waiting advice, stuch on problem!

yon need render specdates field, client-side variable gets updated call.

<input jsfc="h:commandbutton" id="plnhiddenbtn" class="hiddenbtn" action="#plancalendarfacade.preparetempplan}"> <f:ajax execute="mainform" onevent="updateaddeddayplns" render="specdates" /> //also render multiple fields, if needed... </input> <h:inputhidden id="specdates" value="#{plancalendarfacade.specdates}"/>

javascript jsf

Comments

Popular posts from this blog

model view controller - MVC Rails Planning -

ruby on rails - Devise Logout Error in RoR -

html - Submenu setup with jquery and effect 'fold' -