AjaxForm не работает в Safari и Chrome

Этот javascript работает в FF, но не в Safari или Chrome:

$('#image').change(function() {
    $('#imageform').ajaxForm({
       target: '#preview',
       success: function() { 
          alert('works!');
       }
    }).submit();
});

Вот HTML-форма:

<form id="imageform" method="post" enctype="multipart/form-data" action="/admin/ajaxImage/">

Пожалуйста, помогите мне заставить его работать в Safari и Chrome!

РЕДАКТИРОВАТЬ:

Я нашел свою проблему. У меня есть форма внутри формы, которая мешает ей работать. Спасибо всем за все ваши предложения.


person user1435853    schedule 19.07.2013    source источник
comment
Какие ошибки вы получаете? Что сообщает ваш инструмент браузера?   -  person DevlshOne    schedule 19.07.2013
comment
Абсолютно ничего не сообщает. Нет запросов POST и ошибок javascript.   -  person user1435853    schedule 19.07.2013


Ответы (3)


вы должны использовать функцию ajaxSubmit, код для отправки запроса POST:

$("#imageform").ajaxSubmit({
    url: 'ServerSidePage.php',
    type: 'post',
    success: function() 
    { 
      alert("works!");
    }
});

РЕДАКТИРОВАТЬ: можно также проверить это:

$('#imageform').ajaxForm({
  success: function(response, statusText) {
    $('#preview').html(response);
  }
});

я не знаю, что такое «#preview», могу изменить его на «добавить» или что вам нужно.

person Or Duan    schedule 19.07.2013
comment
хорошо, этот код работает нормально, но, возможно, что-то не так с вашим /admin/ajaxImage/, можете ли вы показать код на стороне сервера? - person Or Duan; 19.07.2013
comment
Есть ли способ заставить браузер сохранить пароль? - person streetlight; 10.01.2014
comment
с такой же проблемой; размещение ajaxSubmit() решило проблему для меня на хроме! Я не тестировал сафари или другие браузеры. - person Mojtaba Rezaeian; 03.01.2019

Вызов .ajaxForm() настраивает прослушиватели событий для обработки отправки.
Вы никогда не должны вызывать его более одного раза.

Чтобы использовать вызов плагина вручную, вместо этого вызовите ajaxSubmit().

Для получения дополнительной информации см. документацию.

person SLaks    schedule 19.07.2013

Я понял, что проблема была совсем в другом. У меня есть форма внутри формы, которая мешает ей работать. Спасибо за все предложения!

person user1435853    schedule 19.07.2013
comment
Это была именно моя проблема, тоже! Спасибо. - person Sadjad; 01.01.2014