Прикрепление значения текстового поля к ссылке в виде переменной без использования кнопки отправки

Мне было интересно, как можно связать значение текстового поля HTML-формы с ссылкой. Например, у меня есть 3 ссылки, и каждая ссылка относится к другому файлу PHP, однако мне нужно передать переменную. Из-за дизайна моей страницы я не могу использовать кнопки. Итак, я создал форму с текстовым полем. Как отправить это текстовое поле со ссылками?

НАПРИМЕР:

<form> <input type="text" name="test1" id="test1"></input></form> <a href=index.php?id=$test1">Link 1</a> <a href=index2.php?id=$test1">Link 2</a> <a href=index3.php?id=$test1">Link 3</a> 

Надеюсь, это имеет смысл в отношении того, что я пытаюсь сделать.

РЕДАКТИРОВАТЬ:

Я попытался сделать это динамически, но:

Хорошо, я сделал такую ​​функцию:

  <script> function awardcode() { var awamount = document.getElementById("awardamount"); document.write('<?php $awardvar = ' + awamount.value + '; ?>'); }; </script> 

Затем я сделал ссылку через PHP, которая выглядит так:

 echo '<a id=awlink3 name=awlink3 href="index.php?siteid=gmaward&type=xp&post=' . $posts_row['posts_id'] . '&handle=' . $posts_row['handle'] . '&varamount=' . $awardvar . '">Award XP</a>'; 

Однако это не сработало. Это мой код окна ввода:

 <form><input type=text name='awardamount' id='awardamount' onchange='awardcode()' style:'width:10px;'></form> 

Когда я помещаю число и затем вкладку, он загружает пустую страницу.

Как я могу настроить это?

Вам нужно будет динамически изменить ссылку с помощью JavaScript. Вот один из подходов:

 $('a').on('click',function(e) { e.preventDefault(); var url = $(this).attr('href').split('$')[0]; window.location = url + $('#test1').val(); }); 

Но лучше было бы добавить событие onchange в текстовое поле, так что HREF мгновенно изменится, и пользователь сможет увидеть предполагаемый пункт назначения при наведении курсора мыши:

 $('#test1').on('change', function () { var val = $(this).val(); $('a[href*=\\?id\\=]').each(function (i, el) { $(el).attr('href', function (j, str) { return str.split('?')[0] + "?id=" + val; }); }); });