相关疑难解决方法(0)

如何在执行JSF <h:commandLink>操作之前执行Javascript?

如果您有一个JSF <h:commandLink>(使用a的onclick事件<a>来提交当前表单),那么在执行操作之前如何执行JavaScript(例如请求删除确认)?

javascript jsf

11
推荐指数
3
解决办法
6万
查看次数

JSF在f:ajax之后执行javascript

在我的JSF 2 Web应用程序中,我使用以下代码根据selectedStatus显示和切换rich:dataTable的内容:

<h:selectOneRadio id="statusSelection" value="#{backingBean.selectedStatus}" style="width:auto; float:left;">
  <f:selectItem itemValue="AVAILABLE" itemLabel="Available" />
  <f:selectItem itemValue="INACTIVE" itemLabel="Inactive" />
  <f:ajax render="itemsDataTable" execute="#{backingBean.sortByTitel('ascending')}" />
  <f:ajax render="itemsDataTable" event="click" />
</h:selectOneRadio>
Run Code Online (Sandbox Code Playgroud)

dataTable包含a4j:commandLink,在更改表内容后无意中需要在某些IE版本中双击 - 我发现,执行以下Javascript代码(在IE的调试控制台上,在表内容更改后)解决了问题:

document.getElementById(<dataTableClientId>).focus()
Run Code Online (Sandbox Code Playgroud)

我的问题是:在表格内容发生变化后,如何实现javascript代码的自动执行?

javascript ajax jsf

10
推荐指数
1
解决办法
2万
查看次数

JSF 2:如何在同一输入中显示不同的ajax状态?

当每个字段失去焦点时,我想验证表单中的每个字段,当发生这种情况时,我希望这些操作发生:

1)在字段的右侧出现一个图像,一个.gif(表示系统正在检查用户输入)

2)当完成时出现另一个.gif(例如,取决于输入,'sucess.gif'或'error.gif')和右侧的消息.

我不想使用弹出窗口或类似的东西,用户将失去可用性,我不想要这个.

我正在尝试做这样的事情,这是我到目前为止所做的:

<h:form id="form">
    <h:panelGrid columns="3" >
        <h:outputLabel for="first_name" value="First Name:" />
        <h:inputText id="first_name" value="#{register.bean.firstName}" >
            <f:ajax event="blur" render="m_first_name" />
        </h:inputText>

        <a4j:status name="ajaxStatus">
            <f:facet name="start">
                <h:graphicImage name="loader.gif" library="images" />
                <h:outputText value="Processing ..." />
            </f:facet>
        </a4j:status>

        <a4j:commandButton value="Register !" action="#{register.validateName}" status="ajaxStatus" />

    </h:panelGrid>
</h:form>
Run Code Online (Sandbox Code Playgroud)

我正在寻找谷歌的一些解决方案

<a:a4j ... >
Run Code Online (Sandbox Code Playgroud)

因为onbeginoncomplete属性,我是最好的选择.在JSF 2中的某些本地标记中有一些属性吗?

更新:@BalusC方法:

<!DOCTYPE html>
<html lang="pt-br"
    xmlns="http://www.w3.org/1999/xhtml"
    xmlns:f="http://java.sun.com/jsf/core"
    xmlns:h="http://java.sun.com/jsf/html"
    xmlns:ui="http://java.sun.com/jsf/facelets">
    <h:head>
        <title>Insert title here</title>

        <script type="text/javascript">

        function showProgress(data) {
            var inputElement = data.source; // …
Run Code Online (Sandbox Code Playgroud)

java jsf jsf-2

9
推荐指数
1
解决办法
1万
查看次数

标签 统计

jsf ×3

javascript ×2

ajax ×1

java ×1

jsf-2 ×1