|
|
|
jQuery+очистка <input type='file' /> | ☑ | ||
|---|---|---|---|---|
|
0
kitt
21.07.10
✎
11:15
|
Опытные операводы, нужна помощь.
Есть трабла - не хочет очищатся значение input:file не хочет очищатся посредством jQuery вот код <!DOCTYPE html> <html> <head> <script src="http://code.jquery.com/jquery-latest.min.js"></script> </head> <body> <p> <input id='f1' name='file1' type='file' /> </p> <p> <input id='b1' name='button1' type='button' value='test file!' /> </p> <script> $(function() { $('#b1').click(function(arg){ $('#f1').val(''); //Пробовал по всякому //$('#f1').val(false); //$('#f1').val(undefined); //$('#f1').val(null); //$('#f1').attr('value',''); //$('#f1').attr('value',undefined); //$('#f1').attr('value',null); }); } ); </script> </body> </html> выручайте! ПС в фф3 работает, в ie6 - нет. Пока больше нет возможности проверить в других браузерах |
|||
|
1
sergeante
21.07.10
✎
11:26
|
В Chrome работает.
|
|||
|
2
sergeante
21.07.10
✎
11:36
|
попробуй вместо
>> jQuery('#f1').val(''); это >> document.getElementById('f1').value = ''; |
|||
|
3
kitt
21.07.10
✎
19:29
|
(2) ну по идее jQuery должна делать то же самое
|
|||
|
4
kitt
21.07.10
✎
19:32
|
>> document.getElementById('f1').value = '';
та же история. В файрфоксе работает, в опере нет( |
|||
|
5
kitt
21.07.10
✎
19:40
|
$('#f1').attr('type','text').val('').attr('type','file');
//Ошибка: uncaught exception: type property can't be changed Хитрость не прошла |
|||
|
6
woody woodpecker
21.07.10
✎
19:52
|
$("#f1").attr("value","''");
|
|||
|
7
kitt
21.07.10
✎
19:58
|
(6) см. (0)
//Пробовал по всякому //$('#f1').val(false); //$('#f1').val(undefined); //$('#f1').val(null); //$('#f1').attr('value',''); //$('#f1').attr('value',undefined); //$('#f1').attr('value',null); |
|||
|
8
Asmody
21.07.10
✎
20:03
|
val() method should not be used to set values to input type File, it will not work.
|
|||
|
9
Asmody
21.07.10
✎
20:04
|
||||
|
10
kitt
21.07.10
✎
20:05
|
блин, в файрфоксе офигенная уязвимость получается. Скрипт веб страницы может отправить на сервер любой файл, к которому есть доступ на чтение.
|
|||
|
11
kitt
21.07.10
✎
20:15
|
а, не, при попытке установить значение и отправить форму из скрипта выдает
Ошибка: uncaught exception: [Exception... "Security error" code: "1000" nsresult: "0x805303e8 (NS_ERROR_DOM_SECURITY_ERR)" location: "http://code.jquery.com/jquery-latest.min.js Line: 47"] |
|||
|
12
kitt
21.07.10
✎
20:21
|
(9)
document.getElementById('f1').innerHTML = document.getElementById('f1').innerHTML; в опере всё равно не робит |
|||
|
13
kitt
21.07.10
✎
20:22
|
хотя на сайте указаном в качестве примера, в опере работает, буду разбираться
|
|||
|
14
kitt
21.07.10
✎
20:35
|
короче получилось вот так
$('#f1').parent().html($('#f1').parent().html()); всем спасибо! |
|||
|
15
kitt
21.07.10
✎
20:47
|
только получается один фиг, не установка значения, а удаление элемента и вставка нового, события при этом тоже убиваются.
|
|||
|
16
kitt
21.07.10
✎
21:02
|
собственно хотел, для компактности кода прописать что то вроде $('#f1').after($('#f1').clone(true)); для мультизагрузки файлов.
Хотел чтобы вместе с input:file скопировался обработчик change и не пришлось его дополнительно присваивать. Но всместе с обработчиком копируются данные из поля, и убрать их можно только убив элемент вместе с событиями. |
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |