2013-04-30 3 views
0

Я пытаюсь передать значения bean-кода в javascript-код после обновления ajax, но он не работает.Отправка данных бина в метод javascript

<p:commandButton action="#{bean.transactionStarted}" onclick="userclicked(xhr,args,status)"/> 

И подкладочный боб добавляет значение с помощью:

RequestContext.getCurrentInstance().addCallbackParam("message", "message"); 

Когда я отладки я вижу верхний утверждение выполнено правильно, но это не приходит в JS и не предупреждая:

function userclicked(xhr, status, args) { 
    alert(args.message); 
} 

ответ

1

Потому что onclick был вызван до поддержки bean метод завершен. Вы должны подождать, пока он не закончится. Используйте oncomplete следующим образом:

<p:commandButton action="#{bean.transactionStarted}" oncomplete="userclicked(xhr,args,status)"/> 
+0

'oncomplete' является правильный атрибут, но не уверен, что если XHR является известным JS переменной в тот момент (аналогично для других параметров). –

+0

@Bjorn благодарит свою работу сейчас. – oko

Смежные вопросы