我有一个表格,我想在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>
答案 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()