用javascript中的函数更新Primefaces组件值



我想更新我的组件值evry 10 keyup,所以我写了以下代码:

<h:body>
   //***************************JAVAScript function**************
<SCRIPT LANGUAGE="JavaScript">
 function fnc(){
                length=document.getElementById("aa").value.length;
                 if(length == 10)
                                {
                        document.getElementById("aa").value ="";
                                }
                }

<ui:composition template="commonLayout.xhtml">
    <ui:define name="content">
        <section id="main" class="column">
        <h4 class="alert_info">Scannez les bonbonnes puis cliquez sur
            enregistrer :</h4>
        <div class="Saut20px">
            <h:form id="form">
                <p:panel id="panel" header="Register">
                    <br />
                    <p:focus context="panel" />
                    <p:growl id="msgs"></p:growl>

                    <h:outputLabel value="Code Barre :" />
  //*****************call function in onComplete******
   <p:inputText id="aa" value="#{bonBonneManagedBean.sel}">
                        <p:ajax event="keyup" update="koko msgs" oncomplete="fnc()"
                            listener="#{bonBonneManagedBean.ajouterSelected(bonBonneManagedBean.sel)}" />
                    </p:inputText>

但是呼叫不起作用,如果你能帮我找到错误,请提前感谢

这里没有什么问题。首先你的评论,它们可能只是存在于这个问题中,而不是代码中,所以我不会谈论它们。

正如BalusC所写,您正在使用某种奇怪的形式来定义脚本标记——我必须承认,我从未见过这样的东西。另一方面,您正在使用section标记,正如我所知,它是HTML5标记,并且要做好准备,它在不支持HTML5的浏览器上不起作用。

您创建了AJAX事件,该事件将在输入字段上的每个keyup事件上调用。。。嗯,这里会有很多要求。我建议你避免那样做。

您的具体问题是,您试图找到id为aa的元素,但我必须说,没有这样的元素。JSF将命名容器中的id连接起来,这样您的输入就会有像form:aa这样的id,如果周围的页面中有更多的命名容器,可能还会有更多的id。您可以检查页面中生成的HTML代码,并查看输入组件的真实id。在另一种情况下,你可以做一些类似的事情:

<p:inputText id="aa" onkeyup="fnc(this)" value="#{bonBonneManagedBean.sel}"/>

使用此解决方案删除ajax标签。

并将您的fnc更改为:

function fnc(inputComponent)
{
  length = inputComponent.value.length;
  if(length == 10)
  {
    inputComponent.value = "";
  }
 }

最后,我真的认为你在玩JSF和JavaScript,我真不认为这有任何可用性。

尝试使用inputtext组件的onkeyup属性;

 <p:inputText id="aa" onkeyup="fnc()" value="#{bonBonneManagedBean.sel}">

祝你好运!

相关内容

  • 没有找到相关文章

最新更新