Javascript 如何全局存储div ID值
我正在创建一个应用程序,该应用程序使用相同的数字键盘使用javascript填写两个单独的文本样式表单值 我发现了如何收集一个div ID以在函数内部使用(比如切换隐藏值),但是我需要以某种方式保存这个值,以便在输入数字时知道将数字放入哪个字段 我试着使用一个全局变量,但它似乎不起作用,因为ID似乎没有被记录为字符串值 我正在使用的代码确实会切换“显示/隐藏”属性,但如果我使用一个警报框来弹出我正在用作存储的变量是什么,它将读取Javascript 如何全局存储div ID值,javascript,html,Javascript,Html,我正在创建一个应用程序,该应用程序使用相同的数字键盘使用javascript填写两个单独的文本样式表单值 我发现了如何收集一个div ID以在函数内部使用(比如切换隐藏值),但是我需要以某种方式保存这个值,以便在输入数字时知道将数字放入哪个字段 我试着使用一个全局变量,但它似乎不起作用,因为ID似乎没有被记录为字符串值 我正在使用的代码确实会切换“显示/隐藏”属性,但如果我使用一个警报框来弹出我正在用作存储的变量是什么,它将读取[object htmldevelment] 我的脚本是这样的(请记
[object htmldevelment]
我的脚本是这样的(请记住,我是javascript的noob)
然后ref
存储ID值
我建议:
// create an object to store app-wide settings
// access properties like this: appSettings.propertyName
var appSettings = { padName: "" };
...
var ref = document.getElementById(field).id;
appSettings.padName = ref;
以避免污染全局命名空间
要获取/设置焊盘的值,需要执行以下操作:
// to get
var total = document.getElementById(appSettings.padName).value;
// to set
document.getElementById(appSettings.padName).value = "something";
您应该仔细阅读DOM对象和属性。对于初学者来说,
ref
被分配一个对DOM元素的引用。然后将此引用分配给padName
,因此出现[object htmldevelment]
警报
如果您只想将ID存储在padName
中,请使用
padName = field;
此外,您还混合了padName
的情况。您有padName
和padName
此外,如注释中所述,使用控制台进行调试。它比警报更全面
我不知道您的
单击功能中发生了什么。您似乎期望padName
成为某种对象,但是value()
方法和value
属性的来源是谁都不知道的(仅供参考,表单元素具有value
属性)。您知道如何使用console.log吗?从未听说过它。这是储藏区吗?@Joseph,就像我说的。。。。我不知道这一点:PPrety易于使用。(我将解释如何使用chrome)。在代码中使用console.log(ref),在chrome中打开页面,然后按Ctrl-Shift-J。这将打开一个控制台,您将能够看到控制台中打印的元素。@Andy相同的说明适用于Firefox您还需要document.getElementById(appSettings.padName)。分配total
时,值=…
。谢谢。我没有注意到这种情况。value属性来自表单文本字段,因此我假设此命令将提取该字段中的任何字符串。
// to get
var total = document.getElementById(appSettings.padName).value;
// to set
document.getElementById(appSettings.padName).value = "something";
padName = field;