4

我明白这个错误意味着什么,我似乎无法理解为什么会发生这种情况。

我正在使用 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']回声正是它所应该的。现在错误显示在 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()
}

抱歉文件被压缩了,基本上这是一个非常简单的函数,将任务元素设置为给定的变量并提交表单。(仅供参考:avar 是正确的 var,一切都完美发送)

现在我似乎无法理解的是,当它以前从未发生过时,我怎么会得到这个错误,并且我在组件内部创建了许多这样的表单,完全相同并且它工作正常。

4

4 回答 4

0

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

属性“值”必须为空,它将由 joomla js 分配

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

于 2012-08-10T00:18:30.417 回答
0

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

1- document.adminForm.onsubmit();

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

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

于 2012-08-08T22:42:40.710 回答
0

好吧,问题正如 WTK 所建议的那样,有一个 HTML 错误。一些代码破坏了导致此错误的 HTML(表外有 2 个表行)。

于 2012-08-10T09:12:37.103 回答
0

在第 22 行左右的 www/media/system/js/core-uncompressed.js 中,之后

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

添加:

if (!form) {
    form = document.adminForm;
}
于 2016-10-06T11:29:53.723 回答