如何通过Ajax请求传递参数
我的目标是保存当前光标位置,并为我们输入的每个新按钮添加新值。为了实现这一目标,我尝试发送ajax请求,并在每次焦点离开输入字段时更新我的后端。 在通过支持bean操作方法调用之前,我成功地调用了java脚本函数。但由于某些原因,我在发出ajax请求时无法看到请求参数值如何通过Ajax请求传递参数,ajax,primefaces,jsf-2.2,Ajax,Primefaces,Jsf 2.2,我的目标是保存当前光标位置,并为我们输入的每个新按钮添加新值。为了实现这一目标,我尝试发送ajax请求,并在每次焦点离开输入字段时更新我的后端。 在通过支持bean操作方法调用之前,我成功地调用了java脚本函数。但由于某些原因,我在发出ajax请求时无法看到请求参数值 <p:inputText id="testing1" value="#{dropDownView.city}"> <p:ajax event="keyup" onstart="callOnAjax();"
<p:inputText id="testing1" value="#{dropDownView.city}">
<p:ajax event="keyup" onstart="callOnAjax();" listener="#{dropDownView.assignCity()}" execute="@this" update="out1" >
<f:param value="test" name="#{articlePromo.promocionArticuloId}"/>
<h:inputHidden id="x" value="#{bean.x}" />
</p:ajax>
我也尝试了使用hidden的所有不同方法。但我在控制器中看不到值。我甚至硬编码了请求参数值和hidden属性值。但仍然没有成功。非常感谢任何帮助。可能重复@Perdomoff:我正试着使用jsf和primefaces标记来执行此操作。谢谢可能重复的有人能给我推荐一种使用jsf标记扫描的技术吗?有人请告诉我我是否遗漏了任何东西,或者在primefaces 5.3和jsf 2.2中这不是正确的方法。谢谢
<script type="text/javascript">
function callOnAjax(){
$("#detailsPanel").bind("keydown keypress mousemove", function() {
var $form = jQuery(this).closest("form");
$form.find("input[id$=':x']").val($(this).caret().start);
alert("Current position: " + $(this).caret().start);
});
}
</script>
public void assignCity()
{
System.out.println("positon of x"+getX()+"position of y"+y);
FacesContext context = FacesContext.getCurrentInstance();
String id = context.getApplication().evaluateExpressionGet(context, "#{articlePromo.promocionArticuloId}", String.class);
city =country;
}