Скрипт работает в Chrome, но не в Edge или другом браузере - PullRequest
0 голосов
/ 15 февраля 2019

У меня есть скрипт, который отлично работает в Chrome, но когда дело доходит до края или даже в другом браузере, он не работает

$("#contactform").submit(function(e) {
  var checker = $('.hobby  :checkbox:checked').length;
  if (checker <= 0) {
    e.preventDefault();
    e.stopPropagation();
    e.stopImmediatePropagation();
    alert("Please choose hobby");

  } else {
    var xSeconds = 1000; // 1 second
    setTimeout(function() {
      $('#formholder').fadeOut('fast');
    }, xSeconds);
    setTimeout(function() {
      $('#resultcontent').fadeIn('fast');
    }, xSeconds);

  }
});

1 Ответ

0 голосов
/ 23 февраля 2019

Это селектор или эффект затухания, который не работает?

Если селектор не работает:

Если ваши флажки закодированы <input class="hobby" ...> тогда ваш '.hobby :checkbox:checked' селектор не будет работать, потому что он ищет дочерние элементы input.

Удалите пробелы и используйте '.hobby:checkbox:checked'

Я бы рекомендовал избегать использования jQuery безстандартный селектор :checkbox вместо использования 'input.hobby:checked'.

Если эффект затухания не работает:

Предполагается, что вы хотите, чтобы содержимое результата отображалось в iframe., тогда вам нужно:

<form target="resultframe" ... </form> <iframe name="resultframe" id="resultcontent"></iframe>

, где form target соответствует iframe name.

Если нет iframe и нет цели, то отправка формы заменит текущуюстр.Если серверу не понадобится более 1000 мс для обработки запроса, содержимое текущей страницы будет заменено до того, как у fadeOut появится возможность запуска.

...