如何使特殊字符(来自引用的页面项目)不会错误输出mailto按钮?

时间:2017-09-12 17:30:56

标签: oracle-apex

我对一个运行一小段javascript的按钮进行了动态操作。基本上,它充当mailto链接并将一些页面项添加到电子邮件正文中。它大部分都有用但我注意到如果页面项的值包含&电子邮件在文本中切断了这一点。这就是我目前所拥有的:

var policy_num = $v('P9_POLICY');
var tclose = $v('P9_TDATE');
var taskt = $v('P9_TYPE');
var taskd = $v('P9_DESC');
var audito = $v('P9_TASK_AUDIT_OUTCOME');
var auditc = $v('P9_NOTE');

location.href= "mailto:" +
   "?subject=" + "Please take immediate action" +
   "&body="+ 

"%0APolicy: " + policy_num +
"%0ATask Closed: " + tclose +
"%0ATask Type: " + taskt + 
"%0ATask Description: " + taskd + 
"%0AAudit Outcome: " + audito +
"%0AAudit Comment: " + auditc ;

如果有更好的方法来完成这种mailto功能,我肯定会对此持开放态度。这只是我发现实际工作的第一种方式。谢谢!

1 个答案:

答案 0 :(得分:0)

如果您的商品包含&字符,它将充当控制字符。您需要对其进行转义,以便不再将其解释为控制字符。

它应该看起来像这样:

var policy_num = escape($v('P9_POLICY'));
var tclose = escape($v('P9_TDATE'));
var taskt = escape($v('P9_TYPE'));
var taskd = escape($v('P9_DESC'));
var audito = escape($v('P9_TASK_AUDIT_OUTCOME'));
var auditc = escape($v('P9_NOTE'));

location.href= "mailto:" +
   "?subject=" + "Please take immediate action" +
   "&body="+ 

"%0APolicy: " + policy_num +
"%0ATask Closed: " + tclose +
"%0ATask Type: " + taskt + 
"%0ATask Description: " + taskd + 
"%0AAudit Outcome: " + audito +
"%0AAudit Comment: " + auditc ;
相关问题