首页 > 解决方案 > jConfirm 显示 [object Object] 而不是字符串作为消息

问题描述

我正在使用 jConfirm 创建一个弹出窗口。我希望它显示消息“你确定吗?” 和标题“确认删除”。标题工作正常,回调工作正常。但是消息显示为[object Object],我不知道为什么。我指定一个字符串作为消息,所以它不应该混淆。

这是 Rails 生成的 javascript:

<a onclick="deletePaymentMethod('3', 'gateway_bogus_3');" href="#"><img src="/assets/theme/admin/icons/delete.png" alt="Delete"> Delete</a>

这是有问题的功能:

function deletePaymentMethod(method, dom_id) {
   jConfirm('Are you sure?', 'Confirm Deletion', function(r) {
      if(r){
        jQuery.ajax({
          type: 'DELETE',
          url: '/admin/payment_methods/' + method,
          data: ({_method: 'delete', authenticity_token: AUTH_TOKEN}),
          success: function(r){ $('#'+dom_id).fadeOut(); }
        });
       }
});
}

jConfirm 在 jquery.alerts.js ( https://github.com/caricorrejidor/jquery-alerts ) 中定义为:

function(message, title, callback)

此外,我在代码库的其他地方使用了 jConfirm,它按预期工作。

ETA:我最终只是在库中调整了这些行:

$("#popup_message").text(msg);
$("#popup_message").html( ("" + $("#popup_message").text()).replace(/\n/g, '<br />') );

我用这个替换了它,现在一切都很好:

$("#popup_message").html( msg.replace(/\n/g, '<br />') );

标签: javascriptjqueryjconfirm

解决方案


推荐阅读