1

我有一个表格,我想在 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>
4

2 回答 2

1

这在 Firefox 中不起作用,因为页面还没有完全加载。

排除

document.forms[0].submit();

并设置

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

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

于 2011-10-07T08:17:20.090 回答
0

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

于 2011-10-07T08:26:17.180 回答