是否有一个TypeError:变量在JavaScript中有时是可接受的吗?

时间:2015-05-21 18:08:24

标签: javascript php html

我有一个HTML表单,在提交时使用PHP动态构建另一个表单。第一个表单操作使用$ _SERVER [' PHP_SELF'],因此第二个表单位于同一页面上。第二个表单操作由FPDF和PHP页面切换并处理,最终输出PDF。

在第二个表单上使用JavaScript来动态构建和显示表单的其他部分,这些部分基于在第二个表单的各个部分进行的输入选择。

在我的JavaScript中,我设置了一些易于使用的变量,引用了第二种形式的几个区域。我的JavaScript确实有一个window.onload函数,我的问题是,因为在我的JavaScript之前没有加载DOM。

因为我在初始页面加载后动态构建第二个表单,并且在提交第一个表单后,我在控制台中看到了这个错误:

TypeError: myVariable is null.

// Examples of myVariable which are HTML elements not present 
// in the DOM until the first form has been submitted.

var drawingsWrapper = document.getElementById('drawingsWrapper');
var groupClass = drawingsWrapper.getElementsByClassName('group');
var groupClassLength = groupClass.length;

构建第二个表单后,此错误将消失,因为它引用的HTML元素现在位于页面上。我的表单和处理,包括JavaScript,一切都按预期工作。

由于我还不是JavaScript方面的专家,所以在我开始依赖像jQuery之类的库之前,我正在使用它并且非常了解它。我正在努力理解这些细微差别。

问题:这个错误是否可以接受,因为它被抛出是因为它所引用的元素还没有存在于DOM中,或者我应该做些什么来不声明变量直到该部分它引用的DOM是否存在?

0 个答案:

没有答案