Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何全局存储div ID值_Javascript_Html - Fatal编程技术网

Javascript 如何全局存储div ID值

Javascript 如何全局存储div ID值,javascript,html,Javascript,Html,我正在创建一个应用程序,该应用程序使用相同的数字键盘使用javascript填写两个单独的文本样式表单值 我发现了如何收集一个div ID以在函数内部使用(比如切换隐藏值),但是我需要以某种方式保存这个值,以便在输入数字时知道将数字放入哪个字段 我试着使用一个全局变量,但它似乎不起作用,因为ID似乎没有被记录为字符串值 我正在使用的代码确实会切换“显示/隐藏”属性,但如果我使用一个警报框来弹出我正在用作存储的变量是什么,它将读取[object htmldevelment] 我的脚本是这样的(请记

我正在创建一个应用程序,该应用程序使用相同的数字键盘使用javascript填写两个单独的文本样式表单值

我发现了如何收集一个div ID以在函数内部使用(比如切换隐藏值),但是我需要以某种方式保存这个值,以便在输入数字时知道将数字放入哪个字段

我试着使用一个全局变量,但它似乎不起作用,因为ID似乎没有被记录为字符串值

我正在使用的代码确实会切换“显示/隐藏”属性,但如果我使用一个警报框来弹出我正在用作存储的变量是什么,它将读取
[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;