无法在core.js文件中设置未定义的属性'值'

问题描述:

我明白这个错误意味着我无法理解为什么会发生这种情况。无法在core.js文件中设置未定义的属性'值'

我使用Joomla 1.7并创建了一个组件。现在一切正常,一个奇怪的一天,当我试图提交表单时,我收到了这个错误。 这是我有:

<form action="index.php" method="post" name="adminForm"> 
..some elements... 
<input type="hidden" name="option" value="<?php echo $lists['option']; ?>" /> 
<input type="hidden" name="task" value="<?php echo $lists['task']; ?>" /> 
</form> 

$lists['task']回声正是它suppoused来。 现在错误显示在submitForm功能core.js的Joomla文件,其中包含内部:

function submitform(a) { 
    if (a) document.adminForm.task.value = a; 
    if (typeof document.adminForm.onsubmit == "function") document.adminForm.onsubmit(); 
    typeof document.adminForm.fireEvent == "function" && document.adminForm.fireEvent("submit"); 
    document.adminForm.submit() 
} 

对不起文件被压缩,基本上这是一个很简单的功能,任务元素设置为给定var和提交表格。 (FYI:在a变种是正确的VAR,一切都完美地发送)

现在似乎是我无法理解的是为什么我得到,当它从来没有发生过这样的错误,我已经创造了许多形式是这样在组件内部完全相同,它工作正常。

+0

也许这是由'$表[”值引起任务']'这样可以变得格格不入(通过用户错误或者代码中的其他地方),使得 WTK 2012-08-03 11:57:50

+0

这很好,但我已经检查过,它很好。即使我硬编码一些价值仍然相同的结果。 – 2012-08-03 12:13:05

+0

好吧,所以一旦你硬编码一些价值,它可以每次重现?在不同的浏览器上? – WTK 2012-08-03 12:58:45

好这个问题被指定为WTK建议,有一个HTML错误。 一些代码打破了HTML(2个表行出现了一个表)导致这个错误。

如果onsubmit事件处理程序存在时,该函数将被调用两次:

1- document.adminForm.onsubmit();

2- document.adminForm.submit(); (也会触发onsubmit事件处理程序)。

由于我在这里没有看到该代码,我无法进一步诊断。但是,您可能希望在此submitForm函数中放置一个调试点(例如使用Firebug)以及附加到onsubmit事件的任何处理程序中的一个。

+1

虽然死亡不回答问题,但应该是一个评论。 – 2012-08-08 23:42:14

+0

@ eric.itzhak然而,修正表单提交逻辑可能解决了这个问题。因此,这是一个答案,虽然它可能不是最好的或最正确的 - 我会给你的:) – 2012-08-10 16:51:08

<input type="hidden" name="task" value="<?php echo $lists['task']; ?>" />

属性 “值” 必须是空的,它会是Joomla JS

<input type="hidden" name="task" value=""/>

+0

这是不正确的... – 2012-08-10 09:11:05

在WWW

/媒体/系统/ JS /芯uncompressed.js左右线22,后

if (!form) { 
    form = document.getElementById('adminForm'); 
} 

地址:

if (!form) { 
    form = document.adminForm; 
}