TOGOUTECH

javascript - 如何在dataTable中设置inputText的焦点

下午好,使用JSF+Primefaces。我有一个带有inputText字段的数据表,它执行一个监听器,当您结束该功能或按Tab键时,焦点将是输入同一组件的低行。Google了一些东西,好像是用JavaScript或jQuery来做的,但我了解不多。似乎组件的clientId有某种形式:dataTable:0:输入,以及数字“0”来操纵焦点。任何人都知道如何在dataTable中处理组件的焦点?谢谢。 最佳答案 您可以使用PrimeFaces元素<p:focus/>,并在“上下文”属性中,放入数据表的ID。“contex

Javascript 自包含沙箱事件和客户端堆栈

我正在将JSF繁重的Web应用程序迁移到REST且主要是JS模块应用程序。我在YUItheater上看过NicholasZakas的“可扩展的javascript应用程序架构”(非常棒的视频),我成功地实现了大部分演讲,但我有一些问题:关于模块和沙箱之间的关系,我发现讲座有点困惑,一方面,根据我的理解,模块不应该受到沙箱之外发生的事情的影响,这就是它们发布事件的原因通过沙箱(而不是通过核心,因为核心用于隐藏基础库)但是应用程序中的每个模块都有一个新的沙箱?沙箱不应该将事件限制到使用它的模块,还是应该跨页面发布事件?例如:如果我有两个可编辑的表,但我想将每个表包含在不同的沙箱中,并且它的

javascript - 将数据从 Java/JSF2 bean 传递到 Javascript/jQuery 组件作为返回值的最佳方法

我无法确定将数据从Java支持/托管bean传递到jQuery/Javascript组件(例如Highcharts)的最佳方法,以便我的网络应用程序以动态、实时的方式生成/显示数据。我在Java方面非常扎实,但我对JavaScript/jQuery的了解非常有限,这显然是我失败的地方。据我所知,最好的方法是在我的网络应用程序上对一个隐藏字段进行Ajax化并传递一个JSON对象或字符串?进入它,然后将该值传递到我的JS组件中。首先,这似乎有点费力,因为我需要一个Ajax调用来更新JSON数据,然后调用setInterval将数据重新读取到JS组件中?我希望我可以将数据直接传递到JS组件中

javascript - 如何基于 widgetVar 在 Primefaces 组件中查找和/或覆盖 JavaScript?

根据这个问题:MultiplefileuploadwithextrainputText我可以使用widgetVar以这种方式覆盖PrimeFaces元素的JavaScript函数:PF('fileUpload').jq.fileupload({add:function(e,data){...}});现在,我尝试覆盖DataTable中的函数,但不明白我该如何引用它?此外,PF(')从chrome调试器控制台返回undefined,所以我无法调试它。我怀疑这是范围问题,但不知道如何解决。 最佳答案 你可以使用原型(pr

javascript - 覆盖 Primefaces 特定小部件的方法

我想覆盖Primefaces数据表组件的功能。根据这个问题:HowdoIfindand/oroverrideJavaScriptinPrimefacescomponentbasedonwidgetVar?这可以通过使用PrimeFaces.widget.DataTable.prototype.来实现。但我只想为一个数据表而不是所有数据表覆盖此函数。这不起作用:<p:dataTablewidgetVar="myTable"...></p:dataTable>....<scripttype="text/javascript"&g

javascript - 单击后禁用 `<h:commandButton>`,但应触发操作

我有一个<h:commandButton>在我的XHTML页面中。我希望在单击按钮后立即禁用该按钮。然后按钮应该调用操作。我的按钮如我所料被禁用,但问题是操作没有被触发。<h:commandButtonvalue="Go"onclick="this.disabled=true"action="#{bean.go()}"/>但是如果我删除onclick触发Action的属性。或者如果我使用<a4j:commandButton>有用。跟随a4j按钮工作。<a4j:commandButtonvalue=

javascript - 我怎样才能找出是哪个 Javascript 引起了 Ajax 请求?

我在使用JavaJSF应用程序时遇到问题:在某些情况下,用户操作会导致AjaxHTTP请求正确更新UI,但随后会立即触发第二个请求,从而导致第二次不正确的更新。我如何找出(最好使用Firebug)第二个请求的确切触发位置?有很多缩小的框架JS代码,所以我不知道在哪里放置断点。将表单onsubmit处理程序设置为console.trace没有帮助,我想是因为这些是独立的Ajax请求。 最佳答案 在尝试答案中的建议时,我发现Firebug已经有了我需要的开箱即用的东西:控制台选项卡显示所有请求,对于Ajax请求,它显示文件和它们的来源行

javascript - triggerChange() 函数在 JSF 中不起作用?

我有一个特定的要求,我必须通过selectOneMenu的onchange事件更新dataTable但似乎dataTable不是得到更新。我尝试使用triggerChange()函数,但没有成功。请找到我尝试过的以下代码。xhtml<p:selectOneMenuid="id"style="width:250px"value="#{priceCharterMBean.traffic.id}"required="true"requiredMessage="Trafficisrequired"filter

javascript - 使用 JSF ajax 请求刷新 URL

我将JSF2与PrettyFaces以及<h:link>一起使用和<f:param>广泛地标记以获得可添加书签的页面(最终忘记JSF应用程序中的所有这些POST请求真是太好了)。但是,其中一些链接仅更改页面的一小部分(主要是当用户停留在同一View中时),因此发送ajax请求会更好。然而,<f:ajax>不能与<h:link>一起使用,只是<h:commandlink>.我也可以使用命令链接以多种方式发送参数,但在这种情况下,URL在请求后保持不变。所以它变得与页面内容不同步,并且不可刷新。我见过一些网站使用发送GET和aja

javascript - "PrimeFaces is not defined"错误

我正在尝试使用PrimeFaces打印机功能进行打印。我创建了一个新的GlassFish3JavaEE项目并添加了PrimeFaces3.1.1.jar文件。我目前使用的代码如下:<htmlxmlns="http://www.w3.org/1999/xhtml"xmlns:h="http://java.sun.com/jsf/html"xmlns:p="http://primefaces.org/ui"><h:head><title>FaceletTitle</title></h:he