document.forms [0] .submit()中的firefox问题

时间:2011-10-07 07:48:32

标签: forms firefox3.6

我有一个表格,我想在bodyLoad上提交。

我写过document.forms[0].submit()可以在IE 9和Chrome 14中正常使用,但在FF 3.6.23中也不能正常工作。

有什么想法吗?这是FF的已知问题吗?

我尝试了其他选项,例如document.form_name.submit()document.getElementById('form_id').submit(),但没有任何效果可用于FF。

我在FF中遇到的错误是

  

document.forms[0]未定义

这是我在视图中写的(CakePHP 1.2.6):

<?php $this->layout = 'blank'; ?>

<?php e($form->create('Mymodel', array('name'=>'myform', 'url'=>'gohere'))); ?>

<?php e($form->hidden('name', array('value'=>$name))); ?>

<?php e($form->end()); ?>

<script language="javascript">
document.forms[0].submit();
</script>

2 个答案:

答案 0 :(得分:1)

这在Firefox中不起作用,因为页面尚未完全加载。

消除

document.forms[0].submit();

并设置

<body onLoad="document.forms[0].submit();">

小心不要将<form>指向当前页面,因为它会导致无限循环。

答案 1 :(得分:0)

可以在实际加载表单之前执行javascript代码。这就是Firefox无法找到document.forms [0]的原因。在执行javascript之前,您必须确保页面已准备就绪。使用JQuery,您可以使用$(document).ready()