javascript - HTML/JavaScript/NetSuite 函数得到不正确的结果

标签 javascript html netsuite suitescript



我有内联“html/javascript”,它通过保存的搜索结果列(循环)上的公式(文本)字段注入(inject)到浏览器中。换句话说,这会为结果列中的每一行创建一个按钮,该按钮将针对该特定行/记录(即内部 ID)执行 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>'

当前警报结果:
第 1 行 [签到] 按钮点击警报 = https://website.com/rectype=142&id=157
第 2 行 [签到] 按钮点击警报 = https://website.com/rectype=142&id=157

期望的警报结果:
第 1 行 [签到] 按钮点击警报 = https://website.com/rectype=142&id=157
第 2 行 [签到] 按钮点击警报 = https://website.com/rectype=142&id=158
第 3 行 [签到] 按钮点击警报 = https://website.com/rectype=142&id=159

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

最佳答案

使用{internalid}作为 <a> 的一部分元素的 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}||' 。如果没有,您也许可以将其传递给该函数。

关于javascript - HTML/JavaScript/NetSuite 函数得到不正确的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60579968/

相关文章:

javascript - 将 jQuery 加载到 iframe 中并在加载时收到通知

javascript - 如何在没有外部 css 文件的情况下重置 div 中所有元素的所有 css?

NetSuite SuiteScript 如何突破 10MG 的限制?

javascript - JQuery - 将光标放在文本区域的末尾

javascript - 监视 jasmine 中的 jquery ui 小部件

javascript - 使用 JavaScript 填充 HTML 中的 PDF 字段

javascript - NetSuite - 获取订单项 ID

javascript - Mocha 中的 ES6 promise

javascript - jQuery 事件命名空间可以包含破折号吗?

netsuite - netsuite沙箱中的"Could not determine customer compid"USER_ERROR