Href проблема с IE и Edge, которая не перенаправляет - PullRequest
0 голосов
/ 29 апреля 2019

У меня проблема с href, который не работает в Edge или IE, но отлично работает в других браузерах.

Для объяснения операции у меня есть форма с 3 выпадающими списками. Пользователь должен выбрать значение из каждого списка, чтобы активировать ссылку. Содержимое href динамически изменяется в jQuery в соответствии с выбором, сделанным в списке. Динамизация работает корректно, но как только ссылка активируется, при нажатии на нее не происходит.

По умолчанию моя ссылка создается следующим образом:

<a href="#" id="buttonSearchPro" disabled="disabled" style="cursor: default;">
    <input role="button" class="btn btnAction" value="Validate" />
</a>

Как только пользователь выбрал значение в 3 списках, я вызываю следующий метод jQuery:

var typeProSearch = $('#typeProSearch').val();
var typeSearch = $('#typeSearch').val();
var choiceDepartment = $('#choiceDepartment').val();
var hrefListPro = "/ProfessionalList/Index_ProfessionalList?typeProSearch=" +
    typeProSearch +
    "&typeSearch=" +
    typeSearch +
    "&department=" +
    choiceDepartment +
    "&townName=all";
$('#buttonSearchPro').attr('href', hrefListPro);
$('#buttonSearchPro').prop('disabled', false);

После этого, если я осматриваю предмет, у меня есть URL в href, но когда я нажимаю на ссылку, ничего не происходит. Должны ли мы что-то добавить для href, который будет учитываться в Edge?

1 Ответ

0 голосов
/ 30 апреля 2019

Попробуйте использовать следующий метод для решения этой проблемы:

метод 1: добавить свойство типа (type = "button") для элемента ввода. Пожалуйста, измените ваш код, как показано ниже:

<a href="#" id="buttonSearchPro" disabled="disabled" style="cursor: default;">
    <input role="button" type="button" class="btn btnAction" value="Validate" />
</a>

метод 2: использование перенаправления window.location.href на страницу. Код как ниже:

var typeProSearch = $('#typeProSearch').val();
var typeSearch = $('#typeSearch').val();
var choiceDepartment = $('#choiceDepartment').val();
var hrefListPro = "/ProfessionalList/Index_ProfessionalList?typeProSearch=" +
    typeProSearch +
    "&typeSearch=" +
    typeSearch +
    "&department=" +
    choiceDepartment +
    "&townName=all";
$('#buttonSearchPro').attr('href', hrefListPro);
$('#buttonSearchPro').prop('disabled', false);
//redirect to the new page.
window.location.href = hrefListPro;
...