javascript - 从 p :inputText javascript 获取值文本

标签 javascript jquery primefaces

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

我的代码:

<p:inputText value="any text" widgetVar="youtlink" ></p:inputText>
        <p:commandButton value="Search"    onclick="loadPlayer();" icon="ui-icon-search" />  


<script type="text/javascript">
    function loadPlayer() {
        alert(youtlink.text);
    }
</script>

我也尝试过使用 JQuery,但也没有成功。

渲染 View :

<form id="editlFrm" enctype="application/x-www-form-urlencoded" method="post"
name="editlFrm">
    <input id="editlFrm:j_id_7" class="ui-inputfield ui-inputtext ui-widget ui-state-default ui-corner-all"
    type="text" value="assd" name="editlFrm:j_id_7" role="textbox" aria-disabled="false"
    aria-readonly="false" aria-multiline="false">
    <button id="editlFrm:j_id_8" class="ui-button ui-widget ui-state-default ui-corner-all ui-button-text-icon-left"
    type="submit" onclick="loadPlayer();;PrimeFaces.ab({source:'editlFrm:j_id_8'});return false;"
    name="editlFrm:j_id_8" role="button" aria-disabled="false">

最佳答案

添加id给你的<p:inputText

像这样

<p:inputText id="someID" value="any text" widgetVar="youtlink" ></p:inputText>

确保您的表单收到 prependId="false"

比这样访问值

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

如果你不想添加 prependId="false"对于您的表单,您必须将 jquery 选择器从 jQuery('#someID').val() 更改为至 jQuery("[id$='someID']").val()


编辑

因为您的表单名为 editlFrm

试试这个(确保将 someID id 分配给您的 p:inputText )

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

关于javascript - 从 p :inputText javascript 获取值文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11558654/

相关文章:

javascript - 如何使用 Jest 和/或 Enzyme 测试 React 组件呈现的样式和媒体查询

javascript - ScrollTop 仅在 IE Edge 中不起作用

JavaScript parseInt 转换有问题

javascript - 不知道为什么这个 JavaScript 函数不起作用

javascript - ESLint - 组件应编写为纯函数( react 首选/无状态函数)

php - 使用jquery vs php来减少负载

javascript - 每次我移动它时,可拖动都会成倍增加

css - 如何在dataTable中的每一行之间添加空格

css - 为什么这个 CSS 选择器不比另一个更具体?

jsf - 使用漂亮的面孔和网络过滤器