2010-11-09 74 views
0

我想在用户单击inputText组件时向用户显示选项列表。我需要使用IceFaces中的onclick属性通过JavaScript调用Bean方法。使用javascript调用bean方法

<ice:inputText id="inputText1" partialSubmit="true" value="" onclick="" /> 

我该如何做到这一点?

+0

什么是bean方法? – Neall 2010-11-09 17:38:40

+0

Bean方法是JSF文件的backing bean中定义的任何方法。这个支持bean以简单的话来说就是一个类和JSF页面的后端。 – venomrld 2010-11-10 04:22:08

+1

毕竟只是想要*自动完成*输入吗?然后使用'ice:selectInputText'来代替。这里的教程:http://facestutorials.icefaces.org/tutorial/autocomplete-tutorial.html – BalusC 2010-11-10 18:09:38

回答

1

正如@Neall所说,您需要启动一个XMLHttpRequest并将数据返回给客户端。有很多方法可以做到这一点,我不知道你所指的框架,但是一般情况下,你启动XMLHttpRequest,例如将一些参数传递给Web方法,然后返回JSON数据格式。当你发出请求时,它通常有成功的回调函数和错误的回调函数。在成功事件中,您解析JSON响应并执行您需要的任何操作。

在这里看看,例如:

http://elegantcode.com/2009/02/21/javascript-arrays-via-jquery-ajax-to-an-aspnet-webmethod/

+0

[IceFaces](http://icefaces.org)已经是一个Ajax的JSF组件库。引入自己的JS是很麻烦的。 OP在这个方向上犯了错误。 – BalusC 2010-11-10 18:11:10

1

看起来你试图运行服务器端代码,当用户在客户端采取一些行动。您可能想要启动XMLHttpRequest

XMLHttpRequest基本上只是打一个URL,可选地返回一些数据到浏览器。这就是人们通常所说的AJAX。 (对于异步JavaScript和XML--尽管人们通常使用JSON而不是XML)

+0

嗨!其实我正在使用已经是ajax框架的icefaces。 – venomrld 2010-11-10 17:23:36

+0

我想要做的是向用户显示一个选项列表,当他/她点击一个inputtext组件(javascript onclick事件)时。 – venomrld 2010-11-10 17:24:56