【问题标题】:HTML/JavaScript/NetSuite Function Getting Incorrect ResultsHTML/JavaScript/NetSuite 函数得到不正确的结果
【发布时间】:2020-03-07 16:52:17
【问题描述】:



我有通过保存的搜索结果列(循环)上的公式(文本)字段注入浏览器的内联“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>'

当前警报结果:
第 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 解析的结果,因此可以将其传递给脚本测试函数。

【问题讨论】:

标签: javascript html netsuite suitescript


【解决方案1】:

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

【讨论】:

  • 不行!它现在只是获取列表中的最后一个 {internalid},而之前它只获取第一个。
  • 请出示新代码。根据您的评论,我认为您走在正确的轨道上。如果您在循环中创建 元素,请同时显示该代码。
  • 'xxxx-sb1.app.website.com/app/common/custom/…{internalid}||'">'
  • 试图将 href 传递给函数,但结果相同。我们需要该 url 解析的任何结果(后处理)。
  • 仍在循环中获取最后一个 {internalid}。
猜你喜欢
  • 2011-09-19
  • 2021-10-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-11-30
相关资源
最近更新 更多