Uncaught TypeError: Cannot read property 'value' of null using joomla

Uncaught TypeError: Cannot read property 'value' of null using joomla

使用以下命令时会出现此错误: 字段 otherinfo 具有 id=idOtherInfo 并在 .xml 文件中声明,在 joomla[ 中的模型、表单下=23=]。 该字段在声明中具有默认值以防止空值(在浏览器中显示默认值)并使用 onchange="dosomething()" 我是 运行 一个 javascript 文件,它运行正常,因为它显示了一个警报,然后它停止了命令 var first1 = document.getElementById("idOtherInfo").value; javascript 文件由

加载
JHtml::script(JURI::root() . 'media/com_hr/js/validateFields.js', true);

也可以通过

加载
$document = JFactory::getDocument();
$document->addScript(JURI::root().'media/com_hr/js/validateFields.js');

你能帮忙吗? 谢谢

这可能不太成功,但我认为您对 ID 的名称有些误解。尝试改变这个:

document.getElementById("idOtherInfo").value;

对此:

document.getElementById("OtherInfo").value;

表示ID为idOtherInfo的元素不存在。检查您的网页源代码,确保它正确显示您的输入。

解决方案

如果 Joomla!从 XML 文件生成表单,它将 jform_ 添加到 inputlabel ID 的开头,并将 -lbl 添加到 label.[=18 的结尾=]

因此获取输入值

var first1 = document.getElementById("jform_idOtherInfo").value;

和标签

var first1 = document.getElementById("jform_idOtherInfo-lbl").innerHTML;