Глядя на ваше перо, я увидел некоторые проблемы, которые привели к сбою вашего кода.
Я приложу все усилия, чтобы объяснить, почему.
var fieldOne = document.getElementById(‘field-one’).innerHTML
var fieldTwo = document.getElementById(‘field-Two’).innerHTML
let button = document.getElementById('button');
button.addEventListener('click', () => {
window.location.href = ‘www.website.com/reports/‘ + fieldOne + ‘/reports/‘ + fieldTwo + ‘/reports.aspx’
});
Итак, прежде всего вы можетене используйте эти кавычки в JS.Используйте один из этих '' `.
Вторая проблема, с которой вы сталкиваетесь, заключается в том, что вы неверно получаете значения полей двумя способами. Чтобы получить значение поля ввода, вы должны использовать .value
вместо .innerHTML
.
Другая проблема заключается в том, что вы получаете значение поля ввода, когда документ готов -> поэтому они всегда пусты.
Кроме того, вы написалиfield-Two
, который должен быть field-two
(JS чувствителен к регистру)
Помимо этих ошибок, ваш код должен работать. Поэтому позвольте мне переписать его:
let button = document.getElementById('button');
button.addEventListener('click', () => {
var fieldOne = document.getElementById('field-one').value
var fieldTwo = document.getElementById('field-two').value
var url = `www.website.com/reports/${fieldOne}/reports/${fieldTwo}/reports.aspx`;
// or
var url = 'www.website.com/reports/'+ fieldOne +'/reports/'+ fieldTwo +'/reports.aspx';
window.location.href = url;
});
Как вывидите, я сохраняю URL в переменной. Это не обязательно, но я предпочитаю делать это для простоты кода. Есть также 2 различных способа объявить его. Оба работают, это ваш выбор, который вы предпочитаете (обратите внимание на различные кавычки, независимо от того, используете ли вы шаблонные литералы или нет)