JavaServer Faces Study

JSF的一些学习经验与大写分享

统计

留言簿(1)

阅读排行榜

评论排行榜

JSF页面中如何弹出对话框

问题:
  在JSF页面中,在触发一个动作之前弹出一个确认对话框(例如:删除一条记录,取消编辑)。
解决方式:
  使用JavaScript中的confirm()方法实现!
  如果有更好的方式,希望能够分享!
实现:
  1、对于<h:commandLink>组件: 
   
<h:commandLink action="#{bookingShip.affirmBook}" 
      onclick
="if (!confirm('#{msgs.confirm_areYouSure}')) return false;">
     
<h:outputText value="#{msgs.button_submit}" rendered="#{task.mxdStateN<1}"/>
</h:commandLink>

  上述代码中:#{msgs.confirm_areYouSure},在资源文件中为:“您确认这样做吗?”
  解析成HTML后:
 
<a href="#" onclick="
        
var a=function(){
             if (!confirm('您确认这样做吗?')) 
                  return false;
         };
         var b=function(){
             if(typeof jsfcljs == 'function'){
                 jsfcljs(document.forms['j_id_jsp_1722095761_5'],'j_id_jsp_1722095761_9:3:j_id_jsp_1722095761_45,j_id_jsp_1722095761_9:3:j_id_jsp_1722095761_45','');
             }
             return false
         };
        return (a()==false) ? false : b();
">
    提交
  </a>
  
  屏幕显示:
 

  2、对于<h:commandButton>组件:
 
<h:commandButton onclick="if (!confirm(#{msgs.confirm_areYouSure}')) return false"/>
  在这里的commandButton被解析成了一个提交按钮。如果javaScript返回true值这个表单会被提交,如果返回false将会忽略表单的提交。

posted on 2008-02-16 10:15 Yangjm 阅读(2761) 评论(0)  编辑  收藏 所属分类: JSF


只有注册用户登录后才能发表评论。


网站导航: