You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Bootbox对话框中添加可正常工作的Href链接?

解决Bootbox对话框中Href链接失效的问题

你的问题主要出在HTML属性引号缺失和JS与PHP变量拼接时的字符串格式混乱上,我来帮你一步步修正:

问题分析

原代码里的<a>标签href属性没有用引号包裹,浏览器无法正确解析完整URL;同时JS字符串和PHP变量拼接时,引号嵌套逻辑出错,直接破坏了链接的结构。

修正后的代码

推荐用ES6模板字符串(反引号`)来拼接内容,代码可读性更高,还能避免引号冲突:

bootbox.dialog({
    message: `Message has been generated.<br>
        <a href="${'<?php echo $site_url;?>'}/force_download.php?file_name=../folder_path/${msg_split[1]}.pdf">Click Here to download label</a>
        <br><b>Currently generated Label is -&nbsp;<font color=red>${msg_split[1]}</font></b>`,
    title: 'Response',
    buttons: {
        warning: {
            label: "Ok",
            className: "btn-success",
            callback: function() {
                flushWarehouseInformation();
            }
        }
    }
});

如果你的环境不支持ES6,也可以用传统字符串拼接方式,核心是给href加上双引号:

bootbox.dialog({
    message: 'Message has been generated.<br>' +
        '<a href="<?php echo $site_url;?>/force_download.php?file_name=../folder_path/'+msg_split[1]+'.pdf">Click Here to download label</a>' +
        '<br><b>Currently generated Label is -&nbsp;<font color=red>'+msg_split[1]+'</font></b>',
    title: 'Response',
    buttons: {
        warning: {
            label: "Ok",
            className: "btn-success",
            callback: function() {
                flushWarehouseInformation();
            }
        }
    }
});

关键修改点

  • 给<a>标签的href属性添加双引号,确保浏览器能正确识别完整URL地址。
  • 用模板字符串(或规范的字符串拼接)整合PHP变量与JS变量,避免引号嵌套错误。
  • 顺带修正了拼写错误:把原代码里的Lable改成了正确的Label(非必须,但建议修正)。

这样调整后,你的下载链接应该就能正常工作了。

内容的提问来源于stack exchange,提问作者Venkat Naidu

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.19 03:08:58