我明白这个错误意味着我似乎无法理解为什么会这样。
我正在使用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()
}
抱歉文件是压缩的,基本上它是一个非常简单的函数,它将task元素设置为给定的var并提交表单。
(仅供参考:a
var是正确的var,所有内容都是完美发送的)
现在我似乎无法理解的是,如果之前从未发生过这样的错误,我会在组件内部创建许多这样的形式,并且工作正常。
答案 0 :(得分:0)
如果存在onsubmit事件处理程序,则该函数将被调用两次:
1- document.adminForm.onsubmit();
2- document.adminForm.submit(); (也会触发onsubmit事件处理程序)。
由于我在这里看不到该代码,因此我无法进一步诊断。但是,您可能希望在此submitForm函数中放置一个调试点(例如使用Firebug),并在onsubmit事件附加的任何处理程序中放置一个调试点。
答案 1 :(得分:0)
<input type="hidden" name="task" value="<?php echo $lists['task']; ?>" />
属性“value”必须为空,它将由joomla js
指定 <input type="hidden" name="task" value=""/>
答案 2 :(得分:0)
问题是WTK建议的,有一个HTML错误。 一些代码打破了HTML(2个表行,其中有一个表外)导致了这个错误。
答案 3 :(得分:0)
if (!form) {
form = document.getElementById('adminForm');
}
添加:
if (!form) {
form = document.adminForm;
}