从p:inputText javascript获取值文本

我正在尝试一些简单的东西,只是为了获得p:inputText的文本值,我认为Javascript,但我没有得到它。 也许这是与Primefaces不同的程序,因为如果我不使用它,我不会遇到问题。

我的代码:

 

function loadPlayer() { alert(youtlink.text); }

我也试过JQuery但也没有成功。

渲染视图:

 

id添加到

像这样

  

确保你的表格有prependId="false"

比访问这样的值

 alert(jQuery('#someID').val()); 

如果您不想在prependId="false"中添加prependId="false" ,则必须将jQuery选择器从jQuery('#someID').val()更改为jQuery("[id$='someID']").val()


编辑

因为您的表单名为editlFrm

试试这个(确保为你的p:inputText分配一些 ID id)

 alert(jQuery('#editlFrm\\:someID').val()); 

我在尝试做类似的事情时遇到了这个问题,并发现PrimeFaces通过jq属性公开了widget的JQuery元素。

所以在你的例子中,你可以简单地做:

 function loadPlayer() { alert(youtlink.jq.val()); } 

在最近的PrimeFaces版本(从5.0开始),导出的小部件似乎不再污染全局命名空间,但需要使用PF()方法进行访问。 但是,仍然可以以相同的方式访问JQuery元素。

 function loadPlayer() { alert(PF('youtlink').jq.val()); } 

我认为最简单的方法:

 PF('youtlink').jq.val(); 

您甚至可以像这样设置输入字段的值:

 PF('youtlink').jq.val('new value'); 

另一种方式:

 PrimeFaces.widgets.youtlink.jq.val() 

另一种方式,如果你有ID:

 $(PrimeFaces.escapeClientId("yourFormID:youtlink")).val() 

用PF 5.3测试

此外,有一个简单的方法与javascript:

    function loadPlayer() { alert(document.getElementById('yourID:anyID').value); }