Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/477.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在javascript中使用函数更新Primefaces组件值_Javascript_Html_Jsf_Primefaces - Fatal编程技术网

在javascript中使用函数更新Primefaces组件值

在javascript中使用函数更新Primefaces组件值,javascript,html,jsf,primefaces,Javascript,Html,Jsf,Primefaces,我想更新我的组件值evry 10 keyup,因此我编写了以下代码: <h:body> //***************************JAVAScript function************** <SCRIPT LANGUAGE="JavaScript"> function fnc(){ length=document.getElementById("aa").value.length;

我想更新我的组件值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 ="";

                                }

                }

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

尝试使用inputtext组件的onkeyup属性

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

祝你好运

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

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

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

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

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

最后,我真的认为您正在使用JSF和JavaScript,我真的看不出这有任何可用性。

向您的js发出警告?onkeyup属性应该调用js函数并发布js控制台输出pls js控制台:[15:57:13602]ReferenceError:fnc未定义@这意味着fnc已被调用但未成功定义,请在inputtext组件上方再次定义它,并确保它已定义感谢您的回答。我还有一个问题:-[17:00:38587]类型错误:document.getElementById。。。是null@…我更喜欢firefox的firebug插件来调试您的Java脚本,以适应这种情况。功能要求很难理解。你想每10个字符提交并清除一次输入值吗?顺便问一下,你是从哪里学到HTML和JS的?这种风格很像史前90年代的教程/书籍。请务必确保您阅读的是最新的资源。非常感谢您的回复,我还有最后一个问题:如何调用两个函数:Java和Javascript,并在InputText上使用一个KeyUp事件
<p:inputText id="aa" onkeyup="fnc(this)" value="#{bonBonneManagedBean.sel}"/>
function fnc(inputComponent)
{
  length = inputComponent.value.length;
  if(length == 10)
  {
    inputComponent.value = "";
  }
 }