如何通过Ajax请求传递参数

时间:2015-11-09 20:50:14

标签: ajax primefaces jsf-2.2

我的目标是保存当前光标位置并为我们输入的每个新按钮添加新值。为了实现它,我试图发送ajax请求并更新我的后端,每次焦点都是输入的焦点领域。 我成功通过支持bean动作方法调用之前调用java脚本函数。但由于某种原因,我无法在发出ajax请求时看到我的请求参数值。

<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>

<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>

在我的dropDownView控制器

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;
}

我尝试了所有不同的方法也使用隐藏。但我没有看到我的控制器中的值。我甚至硬编码请求参数值和隐藏的属性值。但仍然没有成功。任何帮助非常感谢。

0 个答案:

没有答案