一个简单的情况 - 两个 JS 脚本在一个 HTML 页面上工作并处理一个常见的表单字段。在一个脚本将值写入字段后,另一个脚本中包含对该字段的引用的变量变为not defined.
为什么?这种行为是否正常,在这种情况下如何“标准”才可能不失去与 HTML 元素的意义和联系?
HTML:
<input type="hidden" id="loc-value" value="123" />
第一个 JS 脚本:
// использует значение поля "loc-value"
let loc_value = document.getElementById("loc-value").value; // в глобальной области видимости
...
第二个js脚本:
// меняет значение в поле "loc-value" после прочтения 1-м скриптом
document.getElementById('loc-value').value = '987';
...
在字段中写入值后,第一个脚本的变量变为未声明。范围不是原因。脚本彼此独立工作。
第一个脚本执行后,值
loc_value变成123执行第二个脚本后,值
loc_value仍然是 123not defined在这些行中找不到错误要将 loc_value 更新为当前值,您可以创建一个函数
并在第二个脚本之后调用它
但是错误
not defined可能只是与未定义变量的范围有关(不是值)测试示例 https://codepen.io/-greg-/pen/OJNRmWb
需要更多信息才能找到错误。
通过在应用此值之前简单地重新读取字段来临时解决。