Проблема с браузером и обработкой событий при загрузке изображений - PullRequest
2 голосов
/ 02 ноября 2011

Этот скрипт загрузки изображений не работает в Google Chrome, но хорошо работает в Firefox и Internet Explorer.Пожалуйста, кто-нибудь может помочь?

$("a#picUpload").bind('click', function() {
    $(":input[type=file]").click();
});

Во-вторых, после выбора изображения и нажатия кнопки открытия в диалоговом окне открытия, я хочу, чтобы загрузка изображений начиналась автоматически после выгрузки диалогового окна открытия, но я не могу понять, как это сделать.этот.Загрузка ajax.Любое предложение?Спасибо.

1 Ответ

0 голосов
/ 02 ноября 2011

Я думаю, что первую проблему можно решить, введя пробел после 'a' перед '#'. Я предполагаю, что «picUpload» является идентификатором элемента привязки. В этом случае вам не нужно использовать «а» вообще. Просто используйте «#picUpload» для привязки события click к элементу. Я предпочитаю второй метод, где вы используете только #id для получения объекта jQuery этого элемента.

$("#picUpload").bind('click', function() {
    $(":input[type=file]").click();
});

Я также предлагаю вам проверить свою форму на наличие любого другого элемента, имеющего тот же идентификатор, что и элемент 'picUpload'. В этом случае все может пойти не так.

Чтобы начать автоматическую загрузку файла после выбора файла, используйте событие ввода «change»: элемент файла.

$('#fileUpload').change(function() {
    alert('changed');
    //call your ajax function for uploading file
});

Чтобы скрипт работал, форма должна быть такой, как указано ниже

<form>
   <a id='picUpload' href='#'>Upload picture</a>
    <input id='fileUpload' type="file"/>
</form>

Скрипка здесь: http://jsfiddle.net/deepumohanp/vvVWt/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...