当前位置: 首页 > 知识库问答 >
问题:

如何在带有自定义标签的JSF页面中创建按钮

佴涵蓄
2023-03-14

我有一个简单的JSF按钮:

//Question Dialog
function deletedialog(button, a){      
    $("<div />", {
        text: a
    }).dialog({        
        width: 600,
        buttons: {
            "Ok": function() { 
                $("#form\\:deleterow").click();
                //  $('input[id$="deleterow"]').click();               
                $(this).dialog("close");
                button.value = "Processing...";
                button.disabled = true;                  
            }, 
            "Cancel": function(event) { 
                $(this).dialog("close");
                event.preventDefault();
                button.value = "Delete";
                button.disabled = false;
            } 
        }
    });         
}


                    <!-- hidden button -->
                    <h:commandButton id="deleterow" value="HiddenDelete" action="#{AccountsController.deleteSelectedIDs}" style="display:none">
                        <f:ajax render="@form"></f:ajax>
                    </h:commandButton>
                    <!-- the delete button -->
                    <h:button onclick="deletedialog(this, 'Do you want to delete the selected rows?'); return false;" >
                        <h:graphicImage name="small-hover.png" library="images" title="Delete" />
                    </h:button>    

我想创建png图像,这将是按钮的视觉体。我唯一要更改的是按钮的标题,我每次使用按钮的value属性时都会设置该标题。这可能吗?现在,当我加载JSF页面时,我只看到没有标签的空按钮。

P.S1我得到这样的结果:

共有1个答案

锺英彦
2023-03-14

使用将环绕图像的命令链接:

<script type="text/javascript">
    function deletedialog(button, a) {
        $("<div />", {
            text: a
        }).dialog({        
            width: 600,
            buttons: {
                "Ok": function() { 
                    //$("#form\\:deleterow").click();
                    //using the hidden button click
                    document.getElementById('myForm:deleterow').click();
                    //  $('input[id$="deleterow"]').click();               
                    $(this).dialog("close");
                    button.value = "Processing...";
                    button.disabled = true;                  
                }, 
                "Cancel": function(event) { 
                    $(this).dialog("close");
                    event.preventDefault();
                    button.value = "Delete";
                    button.disabled = false;
                }
            }
        });
    }
</script>

<h:form id="myForm">
    <h:commandLink onclick="deletedialog(this, 'Do you want to delete the selected rows?')) return false;">
        <h:graphicImage name="small-hover.png" library="images"
            title="#{someBean.imageTitle}" />
    </h:commandLink>
    <h:commandButton id="deleterow" value="HiddenDelete" action="#{AccountsController.deleteSelectedIDs}" style="display:none">
        <f:ajax render="@form" />
    </h:commandButton>
</h:form>

还有,在mkyong站点中有一个 的很好的例子。

根据您的评论,看起来您想要一个带有图标的按钮。而且,真正的操作是由隐藏的 执行的。所以我推荐你读一下这个答案:

    null
<h:commandButton id="deleterow" value="HiddenDelete" action="#{AccountsController.deleteSelectedIDs}" style="display:none">
    <f:ajax render="@form" />
</h:commandButton>
<button type="submit" onclick="deletedialog(this, 'Do you want to delete the selected rows?')) return false;"><img src="resources/images/small-hover.png" /> Delete</button>
 类似资料:
  • 问题内容: 如何创建自定义javadoc标记,例如@pre / @post?我找到了一些解释它的链接,但是我还没有运气。这些是一些链接: http://www.developer.com/java/other/article.php/3085991/Javadoc- Programming.html http://java.sun.com/j2se/1.5.0/docs/tooldocs/wind

  • 标题说明了一切。我想创建一个自定义的prestashop页面,但我不知道如何创建。我真正想做的是:创建一个按钮,打开一个自定义页面。我在网上找不到任何有用的东西,所以我来这里寻求帮助。有人能告诉我怎么做吗?

  • 问题内容: 我想学习如何为html创建具有特殊属性和行为的自定义标签,如果有人可以提供建议,我将不胜感激。 问题答案: HTML5Rocks.com上有一篇有趣且深入的文章,介绍如何使用自定义元素:自定义元素:在HTML中定义新元素 这是该文章的摘录。 实例化元素 创建元素的常用技术仍然适用于自定义元素。与任何标准元素一样,它们可以用HTML声明或使用JavaScript在DOM中创建。实例化自定

  • 问题内容: 我想知道如何在opencart中创建自定义管理面板页面。 需要使用控制器登录- 管理面板似乎没有使用与普通站点相同的控制器。我知道如何使用opencart制作自定义页面(但这不适用于管理员) 一个简单的Hello World示例将是很棒的 问题答案: 路径名称在OpenCart 2中已更改-您将要创建 然后路线变成 OpenCart 1.x 包括完整的MVC流。 我发现了如何做到这一点

  • 问题内容: 我正在尝试在javaFX中创建自定义光标。这是我的代码: Windows 8.1的游标创建无效吗? 问题答案: 检出ImageCursor.getBestSize()方法和ImageCursor.getMaximumColors()并查看它们返回的内容,然后尝试匹配最佳大小和最大颜色的自定义光标图像。对于Windows 8.1,这很可能是32x32的光标。 这是来自javadoc 的引

  • 我是MPAndroidChart的新手,我想在LineChart的XAxis上实时显示时间。我只想显示传入数据的最后10秒,如下图所示。我的采样频率为25Hz,因此我需要显示250个值才能记录10秒。 但是,我真的不知道该怎么做。我想我必须使用IAxisValueFormatter。 目前,我的传入值被添加到数据集,如下所示: 但也许我需要这样做: 然后创建一个格式化程序,将X值转换为类似“xxx