Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   form внутри form (https://javascript.ru/forum/misc/3151-form-vnutri-form.html)

dabutch 23.03.2009 09:14

form внутри form
 
Доброго всем времени суток,

есть страница на которой заполняется форма, внутри этой формы необходимо иметь возможность открыть скрытый слой, в котором можно будет загрузить файл на сервер.

Выполняя приведённый ниже код получаем "Неизвестную ошибку выполнения" в IE6 (в FireFox работает). Подскажите плз, как решить проблему? Ведь работает например FCKEditor, его можно вызвать где угодно в документе и загрузить файл.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />
<title>Untitled Document</title>
</head>
<body>
<script language="javascript"><!--
function test() {
  out = '<div id="main">';
  out += 'here';
  out += '<form target="upload_frame" enctype="multipart/form-data" action="/upload.php" method = "post">';
  out += '<input id="image_file" type="file" class="file" name="image_file" >';
  out += '<input type="submit" class="submit" value="Upload">';
  out += '</form>';
  out += '<iframe id="upload_frame" name="upload_frame" style="display: none"></iframe>';
  out += '</div>';
  document.getElementById('Target').innerHTML = out;
}
//--></script>
<form name="parentForm">
<a href="#" onclick="test();">click</a>
<span id="Target">
</span>
</form>
</body>
</html>

Gvozd 23.03.2009 09:30

наскольок я помню по спецификации тег form не может содержать внутри себя других тегов form
да и зачем?
вполен дотаточно, если вы вставите только инпуты(не забыв конечно о том, чтобы вел куда надо)

dabutch 23.03.2009 09:37

Цитата:

Сообщение от Gvozd (Сообщение 14923)
не забыв конечно о том, чтобы вел куда надо

это как? насколько я знаю нельзя задать для инпута target

Gvozd 23.03.2009 09:51

Цитата:

Сообщение от dabutch
это как? насколько я знаю нельзя задать для инпута target

я имел в виду, чобы вы следили за тегом form, и куда он ведет.
то есть в данном случае после вставки инпутов, надо обновить тег form, чтобы его атрибуты(target,enctype,action,method) были тем, что вы ожидаете, а не остались пустыми.

dabutch 23.03.2009 09:56

тут еще такой момент, внешней формы может и не быть, можно как то определить, есть она или нет ?


Часовой пояс GMT +3, время: 03:10.