Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 17.07.2013, 15:10
Интересующийся
Отправить личное сообщение для inhab Посмотреть профиль Найти все сообщения от inhab
 
Регистрация: 25.02.2012
Сообщений: 18

input type= file, как с попощью пользовтельского скрипта изменить value
Есть пользовательский скрипт автозаполнения формы определенных сайтов. Как реализовать подстановку в input type= file value=, чтоб на сервер отсылалось то что мне нужно. Задача в автоматизации -- не выбирать файл ручками. Возможно что-то делать с пост-запросом или его самому формировать? Может как то вводить псевдо-элемент или еще что-то. Знаю это возможно реализовать.
Ответить с цитированием
  #2 (permalink)  
Старый 17.07.2013, 15:16
что-то знаю
Отправить личное сообщение для devote Посмотреть профиль Найти все сообщения от devote
 
Регистрация: 24.05.2009
Сообщений: 5,176

Сообщение от inhab
или его самому формировать?

Сообщение от inhab
Знаю это возможно реализовать.
на JavaScript нет, потому что на нем нельзя:
Сообщение от inhab
его самому формировать?
Хотя аяксом конечно можно отправлять форму измененную с включением FormData.

В любом случае все зависит от того на чем конкретно написан ваш скрипт, и что конкретно за действия происходят, кто у кого что берет, что кому доступно и т.д.
__________________
хм Russians say завтра but завтра doesn't mean "tomorrow" it just means "not today."
HTML5 history API рассширение для браузеров не поддерживающих pushState, replaceState
QSA CSS3 Selector Engine
Ответить с цитированием
  #3 (permalink)  
Старый 17.07.2013, 15:20
Интересующийся
Отправить личное сообщение для inhab Посмотреть профиль Найти все сообщения от inhab
 
Регистрация: 25.02.2012
Сообщений: 18

Скрипт js. Браузер мой. Сайт чужой. Действия просты -- не выбирать файл, а как-то отсылать на сайт тот файл что я предустановлю. Приветствуются любые варианты, в том числе и использование своего локального сервера.
Ответить с цитированием
  #4 (permalink)  
Старый 17.07.2013, 15:27
что-то знаю
Отправить личное сообщение для devote Посмотреть профиль Найти все сообщения от devote
 
Регистрация: 24.05.2009
Сообщений: 5,176

ну значит юзай FormData, читай про него.. а файл свой придется в массив данных преобразовать, то есть тип Blob что бы его через FormData отправлять, при отправке исключать поле input file сайт, и включать свой с Blob данными
__________________
хм Russians say завтра but завтра doesn't mean "tomorrow" it just means "not today."
HTML5 history API рассширение для браузеров не поддерживающих pushState, replaceState
QSA CSS3 Selector Engine
Ответить с цитированием
  #5 (permalink)  
Старый 17.07.2013, 15:35
Интересующийся
Отправить личное сообщение для inhab Посмотреть профиль Найти все сообщения от inhab
 
Регистрация: 25.02.2012
Сообщений: 18

Сообщение от devote Посмотреть сообщение
ну значит юзай FormData, читай про него.. а файл свой придется в массив данных преобразовать, то есть тип Blob что бы его через FormData отправлять, при отправке исключать поле input file сайт, и включать свой с Blob данными
Не в курсе можно ли в этот блоб будет засунуть ЛОКАЛЬНЫЙ файл или хотя бы url файла?
Ответить с цитированием
  #6 (permalink)  
Старый 17.07.2013, 15:48
что-то знаю
Отправить личное сообщение для devote Посмотреть профиль Найти все сообщения от devote
 
Регистрация: 24.05.2009
Сообщений: 5,176

Сообщение от inhab
Не в курсе можно ли в этот блоб будет засунуть ЛОКАЛЬНЫЙ файл или хотя бы url файла?
это просто данные, их можно сформировать как угодно, хотя бы так:
var xhr = new XMLHttpRequest();
var formData = new FormData(/** сюда можно передать ссылку на форму которую нужно отправить **/);
// ...
// Прочая инициализация xhr.open обработка событий и т.д.
// ...
var BlobBuilder = window.MozBlobBuilder || window.WebKitBlobBuilder || window.OBlobBuilder || window.BlobBuilder;
var bb = new BlobBuilder();
bb.append('Тут внутренности твоего файла');
var data = bb.getBlob('text/plain'); // тип файла

formData.append('my_file_field_name', data);

xhr.send(formData);
Ну и т.д. Ну это примерно, щас уже не помню.. вообщем копай в эту сторону.
__________________
хм Russians say завтра but завтра doesn't mean "tomorrow" it just means "not today."
HTML5 history API рассширение для браузеров не поддерживающих pushState, replaceState
QSA CSS3 Selector Engine
Ответить с цитированием
  #7 (permalink)  
Старый 18.07.2013, 14:47
Интересующийся
Отправить личное сообщение для inhab Посмотреть профиль Найти все сообщения от inhab
 
Регистрация: 25.02.2012
Сообщений: 18

Сообщение от devote Посмотреть сообщение
var formData = new FormData(/** сюда можно передать ссылку на форму которую нужно отправить **/);
Т.е. ту форму на странице к которой я хочу присоединить blob?
Ответить с цитированием
  #8 (permalink)  
Старый 18.07.2013, 14:47
что-то знаю
Отправить личное сообщение для devote Посмотреть профиль Найти все сообщения от devote
 
Регистрация: 24.05.2009
Сообщений: 5,176

да
__________________
хм Russians say завтра but завтра doesn't mean "tomorrow" it just means "not today."
HTML5 history API рассширение для браузеров не поддерживающих pushState, replaceState
QSA CSS3 Selector Engine
Ответить с цитированием
  #9 (permalink)  
Старый 18.07.2013, 14:59
Интересующийся
Отправить личное сообщение для inhab Посмотреть профиль Найти все сообщения от inhab
 
Регистрация: 25.02.2012
Сообщений: 18

Сообщение от devote Посмотреть сообщение
да
Если не сложно, как это сделать: имя или айди, что-то не соображу. Допустим есть имя.
Ответить с цитированием
  #10 (permalink)  
Старый 18.07.2013, 15:23
что-то знаю
Отправить личное сообщение для devote Посмотреть профиль Найти все сообщения от devote
 
Регистрация: 24.05.2009
Сообщений: 5,176

Сообщение от inhab
Допустим есть имя.
var formData = new FormData(document.getElementsByName('form_name')[0]);
по ID аналогично:
var formData = new FormData(document.getElementById('form_id'));
__________________
хм Russians say завтра but завтра doesn't mean "tomorrow" it just means "not today."
HTML5 history API рассширение для браузеров не поддерживающих pushState, replaceState
QSA CSS3 Selector Engine
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как отделить нажатие кл. Enter в поле INPUT от нажатия Enter в выпадающем списке? Маэстро Events/DOM/Window 7 18.07.2012 09:11
[newbie question] input (file) -> submit -> php(json) zatoichi AJAX и COMET 1 18.01.2011 12:18
Как можно узнать что value в INPUT изменилось? moskrc jQuery 2 22.10.2010 09:06
Как можно изменить URL в адресной строке браузера? балерун Events/DOM/Window 12 17.11.2009 13:08
Разным элементам input - разное форматирование. Как? eclipse (X)HTML/CSS 1 25.10.2007 13:55