JQuery UI 编码噩梦

标签 jquery jquery-ui html-encode html-escape-characters

我希望能够将任何字符串传递给 JQuery UI 中的按钮文本。

假设我有这个字符串:

Ajouter L'amie a la liste “amies”

实际传递此文本而不导致大量 JavaScript 错误的唯一方法是对其进行 HTML 编码。

registerhtml.dialog({
        modal: true,
        title: 'My Dialog Title',
        resizable: false,
        buttons: [
            {
                text: 'Ajouter L'amie a la liste "amies"',
                click: function(){
                    // Do something important
                    $(this).dialog('close');
                }
            },
            {
                text: 'Cancel',
                click: function() {
                    $(this).dialog('close');
                }
            }
        ]
    });

但我在按钮中没有收到任何人类可读的文本。只有相同的编码文本。

有没有快速解决这个问题的方法?也许我在按钮对象中缺少一个选项。

或者我应该戴上手套,调用护士并在 JQuery-ui.js 文件中开始手术?

最佳答案

为了能够使用 htmlentities,在将字符串插入按钮时必须使用 html 方法,因为 text 会直接插入文本而不执行任何操作实体编码:

registerhtml.dialog({
    modal: true,
    title: 'My Dialog Title',
    resizable: false,
    buttons: [
        {
            html: 'Ajouter L'amie a la liste "amies"',
            click: function(){
                // Do something important
                $(this).dialog('close');
            }
        },
        {
            html: 'Cancel',
            click: function() {
                $(this).dialog('close');
            }
        }
    ]
});

FIDDLE

关于JQuery UI 编码噩梦,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13718836/

相关文章:

jquery - 如何使用rails 3在jQuery ajax成功方法上渲染部分

jquery - JqueryUI 日期选择器的自定义样式

android - Android 的 Html.escapeHtml 和 TextUtils.htmlEncode 有什么区别?我什么时候应该使用一个或另一个?

javascript - 如何在 ASP.NET MVC 3 的 Razor View 中编码嵌入式 javascript?

iphone - Objective-c 中 iPhone 上的 HTML 实体编码(将 '<' 转换为 '&lt;')

javascript - 如何计算页面上具有值的输入总数?

javascript - 使用正则表达式从字符串中提取 ip 地址

javascript - 使用 JavaScript 更改 HTML <p> 标记值

javascript - 当窗口有滚动条时,jquery 对话框覆盖滚动条

jquery - 使用 jQuery 更改 SelectMenu 中特定选项的样式