gpt4 book ai didi

javascript - 无法在超链接中传递数组值

转载 作者:行者123 更新时间:2023-11-28 10:06:11 24 4
gpt4 key购买 nike

下面是我在 sharepoint disp 表单上选择超链接时使用 Jquery 传递值的代码。

for(var i=0;i<retval.length;i++)
{
strHTML = strHTML + "<a href='url.aspx?ID= '+retval[i]+' &Source= url'>" + retval[i] + "</a>";
strHTML = strHTML + " ";
}

strHTML = strHTML + "</div>";


$("textarea[Title='Test']").closest("span").find("iframe[Title='Rich Text Editor']").contents().find("body").html(strHTML);

无法读取 retval[i] 中的值,它在 ID 处中断。语法有错误吗?

最佳答案

如果您希望变量进行计算,它需要位于引号的外部(就像您对实际超链接文本所做的那样):

strHTML = strHTML + "<a href='url.aspx?ID=" + retval[i] + "&source=url ...";

但是,我会考虑使用 encodeURIComponent在将其放入 URL 之前:

strHTML = strHTML + "<a href='url.aspx?ID=" + encodeURIComponent(retval[i]) + "&source=url ...";

此外,请尽量避免在 URL 中包含空格(确保变量、等号 (=) 和值靠近在一起)。此外,鉴于 href 属性的值被单引号 (') 括起来,您希望避免在 URL 中间使用它们(例如不要将 URL 中的 ID 值用 ') 括起来。

var id = 'foo';

var bad = "<a href='target.aspx?ID='"+id+"''>Invalid</a>";
// bad = <a href="target.aspx?ID='foo''>Invalid</a>
// note that the single quotes now interfere

var good = "<a href='target.aspx?ID="+id+"'>Valid</a>";
// good = "<a href='target.aspx?ID=foo'>Valid</a>";
// note now that the quotes align and the value is acceptable

关于javascript - 无法在超链接中传递数组值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8344969/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com