|
|
|
| При такого рода возникло 2 вопроса
1) Как отследить что после отправки данных через iframe в него загружен ответ сервера
2) Как элементу <input TYPE="file"> передать значения из главной формы ? Я пытался так:
var f=document.my_iframe.document;
s=f.getElementById("file");
s.value=document.getElementById("file").value;
но инициализация не происходит, элемент <input TYPE="file"> в фрейме оказывается пустым | |
|
|
|
|
|
|
|
для: Prihod
(27.04.2007 в 18:47)
| | Насколько я знаю, в <input type="file"> нельзя никак задать значение, кроме как только руками. | |
|
|
|
|
|
|
|
для: yuk
(27.04.2007 в 18:59)
| | именно так, из соображений безопасности | |
|
|
|
|
|
|
|
для: Prihod
(27.04.2007 в 18:47)
| | Попробуйте атрибут onload для тега <iframe>, или с ответом сервера посылайте JS код, который
используя onload своего окна, даст знать скрипту в род. окне, что дело сделано.
Насчёт <input type="file"> попробуйте после того как пользователь выберет файл
клонировать его и вставить в форму в ифрейме. К сожалению не проверял, но оч. может быть,
что сработает. | |
|
|
|
|
|
|
|
для: RMW
(27.04.2007 в 19:35)
| | а как можно клонировать <input type="file"> ??? | |
|
|
|
|
|
|
|
для: Prihod
(27.04.2007 в 20:02)
| | По-видимому если и будет работать,
то только в FF
<html>
<script>
onload = function()
{
var d = frames[0].document;
d.writeln('<html>');
d.writeln('<form action="file.php" method="post" enctype="multipart/form-data">');
d.writeln('</form>');
d.writeln('</html>');
d.close();
}
function cloneInput(formTop)
{
if(!formTop.myFile.value)return;
frames[0].document.forms[0].appendChild(formTop.myFile.cloneNode(true));
setTimeout('frames[0].document.forms[0].submit()',333);
}
</script>
<form>
<input type="file" name="myFile"><br>
<input type="button" onclick="cloneInput(this.form)" value="Send file">
</form>
<iframe src="about:blank" name="myIfr"></iframe>
</html>
|
Попробуйте ещё так:
<html>
<form action="file.php" method="post" enctype="multipart/form-data" target="myIfr">
<input type="file" name="myFile"><br>
<input type="submit">
</form>
<iframe src="about:blank" name="myIfr"></iframe>
</html>
|
| |
|
|
|
|
|
|
|
для: RMW
(27.04.2007 в 23:03)
| | Второй вариант то что нужно, да и мороки меньше, спасибо RMW . :)) | |
|
|
|