Итак, я довольно долго пытался придумать способ сделать это,

Если человек набирает: "ввод" -> ссылка на кнопку превращается в instance.com/input.

Вот мой HTML

<div class="search-box">
    <form method="get" id="search-index-form" name="myForm" class="clear-block" role="search">
        <input id="userInput" placeholder="Search">
        <button type="submit" id="mylink" href="http://www.exemple.com/" onclick="othername(); changeLink();"><span>search</span></button>
    </form>
</div>

И мой JavaScript

function othername() {
    var input = document.getElementById("userInput");
}

function changeLink() {
    var link = document.getElementById("mylink");
}
link.setAttribute('href', link + input);

Спасибо за помощь в продвижении

-2
YOONOOS 22 Окт 2018 в 21:07

2 ответа

Лучший ответ

Вам нужна только одна функция changeLink для достижения желаемого результата, а также используйте переменную baseHref для хранения базового href с помощью Element.getAttribute ().

Вы можете вызвать changeLink при запуске события blur. Затем используйте baseHref и объедините его со значением из button, которое извлекается из value свойство элемента ввода.

let baseHref = document.getElementById("mylink").getAttribute('href');

function changeLink() {
  var input = document.getElementById("userInput");
  var link = document.getElementById("mylink");
  link.setAttribute('href', baseHref + input.value);
  
  console.log('Now the link is: ' + link.getAttribute('href'));
}
<div class="search-box">
  <form method="get" id="search-index-form" name="myForm" class="clear-block" role="search">
    <input id="userInput" placeholder="Search" onblur='changeLink();'>
    
    <button type="submit" id="mylink" href="http://www.exemple.com/">
    
    <span>search</span></button>
  </form>
</div>
1
Rahul Verma 22 Окт 2018 в 18:28

Вы можете изменить URL-адрес, используя объект окна, например:

window.location.href = url + '/' + input

Или вы можете увидеть по этой ссылке (расположение javascript)

https://www.w3schools.com/jsref/obj_location.asp

0
Ferdinando 22 Окт 2018 в 18:15
52935276