gpt4 book ai didi

javascript全局变量未定义

转载 作者:行者123 更新时间:2023-11-29 16:23:37 32 4
gpt4 key购买 nike

我有一个 javascript 全局变量的问题,假设我有以下内容

var globalVar;

我有一个文本框

<input type="text" id="myInput" onkeydown="checkKey(this)" onkeypress="checkKey(this)"/>

在函数 checkkey 中,我给它赋了一些值:

globalVar=document.forms[0].elements("myInput").value;

我检查了全局变量值已更改并发出警报。当我尝试在另一个函数中使用 globalVar 时,我发现它的值未定义。另一个函数是这样的:

param += globalVar;

最佳答案

form 实例的 elements 属性不是一个函数,它是一个对象。使用

globalVar=document.forms[0].elements.myInput.value;

...或者

globalVar=document.forms[0].elements["myInput"].value;

...但更好的是,通过调用 checkKey 的方式,只需声明一个名为 input 或其他名称的参数并使用

globalVar=input.value;

...因为您要将 this 传递给 checkKey

如果您要像以前一样通过名称访问表单字段,请使用 name 属性而不是 id 属性(尽管 id 也适用于许多浏览器。

如果您的 var globalVar; 在全局范围内(在所有函数之外),那么它就是一个全局变量。如果该 var 语句在函数内部,则它是一个局部变量。你没有给我们足够的上下文来知道 var 在哪里,但如果它在全局范围内,并且你成功设置了它的值,稍后你检查它,它 被设置。

Live demo using the long form | Live demo using the argument

关于javascript全局变量未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8531908/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com