首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Primefaces commandButton和ajax

Primefaces commandButton和ajax
EN

Stack Overflow用户
提问于 2013-01-06 18:31:11
回答 2查看 572关注 0票数 0

我使用一个带有许多选项卡的tabView组件。在其中的许多文件中,我都有由primefaces commandButton组件提交的form

默认情况下,PF commandButton使用ajax模式,但是当我提交表单时,页面似乎已完全加载,并且tabView组件失去了索引视图(呈现索引0)。

这是正常行为吗?

我认为我会继续使用相同的索引,因为它是ajax...

EN

回答 2

Stack Overflow用户

发布于 2013-01-06 19:30:22

看起来有一些命名容器(可能是p:tabView),你最好给它分配一个id,所以你会得到myTab0myTab1等前缀,而不是像j_idt16这样的前缀(可能会随时间变化)。

例如<p:tabView id="myTab"

为了安全起见,您可以做的另一件事是在尝试使用jquery选择元素并访问它的值之前检查元素是否存在,如下所示

代码语言:javascript
复制
if($('#j_idt16\\:register_location_choice_2_input').length > 0){
    //some code here
}
票数 1
EN

Stack Overflow用户

发布于 2013-01-06 19:10:37

好吧,我的问题是JS validateRegisterForm函数。当我拿掉它的时候,它就能工作,但我需要它...

我用它来检查验证表单是否可以启动。

代码语言:javascript
复制
function validateRegisterForm(){    

if($('#j_idt16\\:register_location_choice_2_input').attr('checked')){

    if($('#j_idt16\\:register_galaxies_input').val() == 0){
        var galaxie = MUST_CHOOSE_GALAXY;
        alert(galaxie.charAt(0).toUpperCase() + galaxie.slice(1));
        return false;
    }

    if($('#j_idt16\\:register_solar_systems_input').val() == 0){
        var ss = MUST_CHOOSE_SOLAR_SYSTEM;
        alert(ss.charAt(0).toUpperCase() + ss.slice(1));
        return false;
    }

    if($('#j_idt16\\:register_positions_input').val() == 0){
        var position = MUST_CHOOSE_POSITION;
        alert(position.charAt(0).toUpperCase() + position.slice(1));
        return false;
    }

}


return true;    

}

那么,我如何在发送前检查字段值,并允许或不允许使用ajax验证表单?

编辑:

好了,我解决了我的问题,在我的JS函数中启动验证,将按钮type传递给button而不是submit,并使用remoteCommand组件:

我的JS函数:

代码语言:javascript
复制
function validateRegisterForm(){    

if(...)
      validateForm();

}

和我的remoteCommand

代码语言:javascript
复制
<p:remoteCommand name="validateForm" actionListener="#{login.registerAccount()}"/>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14181270

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档