Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > JavaScript: Общие вопросы > трабл с BrowseFile


Автор: Jlekc 31.5.2005, 16:56
зачем нуна не спрашивайте задумка интерфейса smile
но вообщем ткая проблема:
Код

<FORM name="uploadForm" method="get" action="index.html" enctype="multipart/form-data" onSubmit="return onSend()">
    <INPUT type="file" name="file" />
    <INPUT type="submit" name="Submit" value="Submit">
</FORM>
<br><hr><br>

<A href="javascript:send();">submit</A>

<br><hr><br>

<INPUT name="fileUploadName" type="text" readonly>
<BUTTON style="background-color:#F8F8F8;height:22px;border-style:ridge;text-align:center;"    onClick="javascript:browse()">Browse</BUTTON>
<BUTTON style="background-color:#F8F8F8;height:22px;border-style:ridge;text-align:center;"    onClick="javascript:send()">Upload</BUTTON>


<script language="javascript">
function onSend(){
    if(uploadForm.file.value)
        return true
    return false
}
function send(){
    if(onSend())
        document.uploadForm.submit();
}
function browse(){
    uploadForm.file.click(); 
    fileUploadName.value=uploadForm.file.value;
}
</SCRIPT>

в нем три разных кнопки на отсылку файла,
первый всем привычный через <INPUT type="submit"
второй через document.uploadForm.submit();
третий, хмм воот тут и вылез глюк, сама кнопка сабмит работает, но есе выбор файла делаю через спецально для этого созданую кнопку все умирает(((

Автор: Aliance 31.5.2005, 19:50
Jlekc
Цитата(Jlekc @ 31.5.2005, 17:56)
зачем нуна не спрашивайте задумка интерфейса

Господи...я тебе поражаюсь... ради стилей создавать такое извращение...

Автор: Sardar 1.6.2005, 01:14
Цитата(Jlekc @ 31.5.2005, 15:56)
но есе выбор файла делаю через спецально для этого созданую кнопку все умирает(((

В смысле умирает? Всё верно работает, ты заставляешь сработать input:flie, получаешь его значение. Что дальше?

Для справки, поменять значение элемента input:file нельзя по соображениям безопасности, можно только читать.

Автор: Jlekc 1.6.2005, 01:18
Цитата(Sardar @ 1.6.2005, 01:14)
заставляешь сработать input:flie, получаешь его значение. Что дальше?

а дальше нуна сделать сабмит(), вон он и не отрабатывает

Автор: Sardar 1.6.2005, 01:22
Дык делай сабмит через свою функцию send(), в чём проблема?

Автор: Jlekc 1.6.2005, 01:26
хмм, делал через myForm.submit() были глюки(выдавл ероры), а через send() полутиться, хмм
лада, будем ценить

Автор: Jlekc 1.6.2005, 01:37
чот сеня все не так, наверно пора спать((
ну а вообщем, упростим сорс:
Код

<FORM name="uploadForm" method="post" action="reciev.php" enctype="multipart/form-data" >
    <input type=file name=browse style=" display:none">
</FORM>
<INPUT type="text" name="__text">
<BUTTON onClick="uploadForm.browse.click(); __text.value=uploadForm.browse.value">Send</BUTTON>
<A href="javascript:send();">submit</A>

Код

<script language="javascript">
function onSend(){
    if(uploadForm.browse.value)
        return true;
    return false
}
function send(){
    if(onSend())
        document.uploadForm.submit();
}
</SCRIPT>


мне эти события нуна не из хтмл-ки дергать, а из флеши
а это так, сорс для тестов, мож полутиться сделать рабочим))

Автор: Aliance 1.6.2005, 13:10
Цитата(Jlekc @ 1.6.2005, 02:37)
__text.value=uploadForm.browse.value

Вот эта строчка исполняется? ^^^

Автор: Sardar 1.6.2005, 19:09
Цитата(Aliance @ 1.6.2005, 12:10)
Вот эта строчка исполняется?

Только под ИЕ, так как он создаёт кучу "магических" коллекций по именам и ID. Вообще весь код не будет работать в Мозилле.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)