我正在尝试将Sales Stage字段标签更改为超链接以弹出新的浏览器窗口。
目前我有一个带有Sales Stage字段的表单,其下拉::
基础HTML:
<td title="Select the sales process stage for the opportunity to indicate the probability of closing the opportunity." class="ms-crm-ReadField-Normal ms-crm-FieldLabel-LeftAlign" id="salesstagecode_c"><span class="ms-crm-InlineEditLabel"><span class="ms-crm-InlineEditLabelText" style="text-align: left; max-width: 115px;">Sales Stage</span><div class="ms-crm-Inline-GradientMask" style="display: none;">
</div></span></td>
或者更好的格式化:
我之前使用过的函数在旧版本的表单上工作:
function csjs_AddHyperlinkToLabel(sFieldId, sURL, sWindowOptions) {
var sCurrentLabel = $("label[for='" + sFieldId + "']").html();
$("label[for='" + sFieldId + "']").html("<a href=\"#\" onclick=\"window.open('" + sURL + "', null, '" + sWindowOptions + "'); return false;\" style=\"cursor:hand; color:blue; text-decoration:underline;\">" + sCurrentLabel + "</a>");
}
上面的函数在带有以下html ::
的表单上工作
javascript需要进行哪些更改才能将Sales Stage字段标签更改为超链接以弹出新的浏览器窗口?
虽然我非常感谢解决方案,但我正在寻找如何实现这一目标的指导。感谢您的关注和时间。
不幸的是,下面的解决方案不起作用。我通过调试器运行了这个,这就是我得到的http://screencast.com/t/fT6tHvXZzvc
这里的问题是我们将“salesstagecode”传递给此函数:
csjs_AddHyperlinkToLabel("salesstagecode", sPageURL, sWindowFeatures);
,结果证明是NULL:
var sCurrentLabel = $("label[for='" + sFieldId + "']").html();
*
问题在于Microsoft改变了表单的呈现方式 渲染页面的HTML将不再适用于 功能写的。标签现在位于span标签中而不是a 标签标签。我不知道是否有办法确定那个跨度和 更改内容以使用新的HTML来建立文本链接。
*
如何更新范围标记?
答案 0 :(得分:1)
您需要在超链接标记中添加target="_blank"
属性。
答案 1 :(得分:1)
简单:
更改
.... onclick=\"window.open('" + sURL + "', null, '" ....
到
.... onclick=\"window.open('" + sURL + "', '_blank', '" ....