Как я могу динамически изменять текст на основе поля ввода?

#php #jquery

#php #jquery

Вопрос:

Как я могу динамически изменять ссылку на основе поля ввода в форме. Например, если я ввожу 1.00 в поле ввода, я хочу изменить ссылку на это:

donate.php?amount=1.00

Где сумма изменяется на сумму, указанную в поле ввода.

Я предполагаю, что это JavaScript, который не является моей сильной стороной, но любая помощь была бы потрясающей. 🙂

Спасибо

Ответ №1:

разметка:

 <input type="text" id="amount" onkeyup="changeLink(this);" />
<a href="donate.php?amount=0.0" id="donateLink"> donate now! </a>
  

Javascript:

 function changeLink(inputElement)
{
    $('#donateLink').attr("href","donate.php?amount=" inputElement.value);
    //console.log($('#donateLink').attr("href"));
}
  

рабочий пример jsfiddle здесь.

Комментарии:

1. Большое спасибо этому чуваку, это много значит для меня 🙂

Ответ №2:

Это можно сделать с помощью HTML-форм:

 <form action="donate.php" method="GET" id="donateform">
    <input type="text" name="amount" />
    <input type="submit" value="Donate" />
</form>
  

Вы также можете ввести ввод через выпадающий список, чтобы они не вводили недопустимые значения. Или вы можете проверить ввод с помощью javascript. Чтобы использовать ссылку для отправки формы, вы можете использовать javascript:

 <a href="javascript:document.forms['donateform'].submit();">Donate</a>
  

Ответ №3:

Вам не нужно ничего делать, просто используйте форму. Используя метод GET с формой и называя ваше поле ввода ‘amount’, которое уже будет добавлено к URL-адресу во время отправки формы. Продолжайте и попробуйте отправить форму при вводе 1.00 в поле. Когда страница загрузится, ваш URL будет donate.php?amount=1.00 таким, как ожидалось. URL-адрес вообще не нужно изменять.

Если вы используете POST, я бы просто предложил не делать этого. В этом случае это не имеет смысла.