Проблемы с Firefox в document.forms [0] .submit () - PullRequest
0 голосов
/ 07 октября 2011

У меня есть форма, которую я хочу отправить на 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 ]

1 голос
/ 07 октября 2011

Это не сработает в Firefox, поскольку страница еще не полностью загружена.

Исключите

document.forms[0].submit();

и установите

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

Будьте осторожны, чтобы не указывать <form> на текущую страницу, так как это может вызвать бесконечный цикл.

0 голосов
/ 07 октября 2011

Код javascript может быть выполнен до фактической загрузки формы. Вот почему Firefox не может найти document.forms [0]. Вы должны убедиться, что ваша страница готова, прежде чем выполнять JavaScript. С JQuery вы делаете это с $ (document) .ready ()

...