HTML/JavaScript/NetSuite函数获取不正确的结果

HTML/JavaScript/NetSuite函数获取不正确的结果,javascript,html,netsuite,suitescript,Javascript,Html,Netsuite,Suitescript,我有内联的“html/javascript”,它通过保存的搜索结果列(循环)上的公式(文本)字段注入浏览器。换句话说,这将为结果列中的每一行创建一个按钮,该按钮将针对该特定行/记录(即internalid)执行javaScript当按钮链接正常工作时(即导航到正确的记录),JavaScript警报结果为所有按钮单击行生成相同的{internalid}: '<html> <a target="_blank" id="Link" href="https://website.c



我有内联的“html/javascript”,它通过保存的搜索结果列(循环)上的公式(文本)字段注入浏览器。换句话说,这将为结果列中的每一行创建一个按钮,该按钮将针对该特定行/记录(即internalid)执行javaScript当按钮链接正常工作时(即导航到正确的记录),JavaScript警报结果为所有按钮单击行生成相同的{internalid}

'<html>
   <a target="_blank" id="Link" href="https://website.com/rectype=142&id='||{internalid}||'">
     <button  id="Button" type="button" onclick=test();> Check-In 
     </button>
   </a>
   <script> 
      function test() {var x = document.getElementById("Link").href; alert(x);} 
   </script> 
 </html>'
'
函数测试(){var x=document.getElementById(“Link”).href;警报(x);}
'
当前警报结果:
第1行[签入]按钮单击警报=
第2行[签入]按钮单击警报=

所需的警报结果:
第1行[签入]按钮单击警报=
第2行[签入]按钮单击警报=
第3行[签入]按钮单击警报=


更新:需要href解析为的结果,以便可以将其传递给脚本测试函数

使用
{internalid}
作为
元素id的一部分

我不熟悉这种语法,但我相信它会是这样的:

<a target="_blank" id="Link'||{internalid}||'" href="https://website.com/rectype=142&id='||{internalid}||'">
function test() {var x = document.getElementById("Link'||{internalid}||'").href; alert(x);} 

这假设您的函数可以访问
“| |{internalid}| |”
。如果没有,您可以将其传递给函数。

很难用显示的有限代码来判断,但是如果您有多个具有相同id的
元素(在本例中为链接),则这将不起作用。Id必须是唯一的。看起来很奇怪有多少元素的Id是“Link”?实际上,这是完整的代码。通过UI执行搜索,该代码被注入搜索中返回的每一行;浏览器随后编译代码并显示“我的”按钮。这就是为什么您将获得具有相同id的多个元素。您必须更改该id。它显示相同的警报,因为函数在找到id为“Link”的第一个元素时停止查找。Id必须是唯一的。没有bueno!它现在只获取列表中的最后一个{internalid},而之前它只获取第一个。请显示新代码。根据你的评论,我认为你走对了方向。如果您正在循环中创建元素,请同时显示该代码。'{internalid}| |'>Check-In function test(){var x=document.getElementById(“'|{internalid}|}| |'”)。href;alert(x)}试图将href传递给函数,但结果相同。我们需要url解析的结果(后期处理)。仍在获取循环中的最后一个{internalid}。