|
|
|
| Доброго времени суток!
Пользователь загружает путь файла в текстовое поле с помощью скрипта.
Подскажите мне, плиз, почему этот скрипт в IE работает нормально, а в Опере не хочет работать
<SCRIPT language="javascript">
function DialogFileOpen(OId)
{
var df=document.createElement("INPUT");
df.id="df";
df.setAttribute("type", "file");
df.style.visibility="hidden";
document.Form1.appendChild(df);
df.click();
if(df.value) { document.getElementById(OId).value=df.value; }
document.Form1.removeChild(df);
}
</SCRIPT>
...............
...............
<INPUT id="ThemeFile" name="ThemeFile" type="text" >
<INPUT type="button" value="Ссылка" onclick="DialogFileOpen('ThemeFile')" >
...............
|
| |
|
|
|
|
|
|
|
для: stosen
(25.10.2008 в 20:23)
| | скорее всего потому, что у инпутов с типом "file" нету значения поля value... | |
|
|
|
|
|
|
|
для: Lelik
(25.10.2008 в 23:25)
| | Так в IE же работает. Я тут узнал, что Opera не поддерживает принудительного открытия окна загрузки файлов. А как можно его открыть по-другому? | |
|
|
|
|
|
|
|
для: stosen
(26.10.2008 в 14:20)
| | Скрипт ваш и в IE не работает.
Вернее, окошко загрузки файлов открывается, но передать из формы вы выбранный файл не сможете.
Ибо атрибута name у нового инпута нет.
А при сабмите формы передаются исключительно пары name=value. Если name отсутствует - значение поля не передаётся.
Учтите, что имено в MSIE атрибут name надо назначать прямо в методе createElement.
Окошко загрузки файлов в Opera открыть можно, только вот метод click () в Opera (и в прочих мозилловских браузерах) не работает. Там он оформляется иначе. | |
|
|
|