Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Не срабатывает onsubmit в ie (https://javascript.ru/forum/events/61833-ne-srabatyvaet-onsubmit-v-ie.html)

SuperTester 11.03.2016 01:25

Не срабатывает onsubmit в ie
 
Доброй ночи. Уже задавал этот вопрос в другой ветке, но помощи не получил. Так как вопрос относится и к текущему разделу форума продублирую его здесь:

Есть всплывающая форма на сайте - http://rental-teh.ru/arenda-manipulyatora/ (открывается при клике на любую кнопку "Сделать заказ").

Если попробовать отправить форму пустой, все браузеры выдают сообщение об ошибке - http://prntscr.com/adi109 , но в ie ничего не происходит.

Обработчик формы:
function send_form(form_id)
{
  jQuery('#' + form_id + ' input[type=submit]').attr('disabled', 'disabled');
  jQuery('body').css('cursor', 'progress');
  data =
  {
    'action': 'form_anylysis',
    'data': jQuery('#' + form_id).serialize(),
  };

  $.post( '/wp-admin/admin-ajax.php', data, function( response )
  {
    if (response == 1)
    {
      create_yellow_center_window("Благодаримвасза обращение<br>в нашу компанию.", "Заявка принята<br>в обработку");
    }
    else
    {
      create_yellow_center_window("Ошибка заполнения, пожалуйста<br>заполните все поля.", "Попробуйте ещё раз");
    }
  }).done(function(){ jQuery('body').css('cursor', ''); jQuery('#' + form_id + ' input[type=submit]').removeAttr('disabled');});
}


Как понимаю, проблема в том, что ie не хочет принимать вызов обработчика в таком виде:

onsubmit = 'send_form(`form_tech_request`)'


В консоле никаких ошибок. Подскажите, пожалуйста, что исправить, чтобы все заработало?

С уважением, Вячеслав

Vlasenko Fedor 11.03.2016 01:46

onsubmit = "send_form('form_tech_request')"

и отмену события по умолчанию не забудьте
event.preventDefault() или return false

Dilettante_Pro 11.03.2016 10:19

SuperTester,
ie в консоли выдает ошибку

SEC7118
"Запрос XMLHttpRequest к [url] требует Cross Origin Resource Sharing (CORS). "
Запрос XMLHttpRequest был адресован иному домену, чем домен вашей страницы. Это требует от сервера возврата заголовка Access-Control-Allow-Origin в его заголовках отклика, но такой заголовок не был возвращен.
Примечание Этот код ошибки удален в IE11 в Windows 10, но сохранен в IE11 для Windows 8.1 и Windows 7.

Сервер должен поддерживать запросы CORS и возвратить соответствующий заголовок Access-Control-Allow-Origin с ресурсом. Дополнительные сведения о CORS в заголовках откликов см. в CORS для XHR в Internet Explorer 10.

SuperTester 11.03.2016 10:59

Цитата:

Сообщение от Poznakomlus (Сообщение 410616)
отмену события по умолчанию не забудьте
event.preventDefault() или return false

последовал вашему совету - в ie все также тишина

SuperTester 11.03.2016 11:42

Вопрос решен другим способом. Можно закрывать тему. Спасибо всем откликнувшимся.


Часовой пояс GMT +3, время: 16:04.