Передать переменную js, чтобы сформировать URL-адрес действия

Я не уверен, что это возможно, или если я делаю это неправильно?

У меня есть форма, которую при отправке отправляет пользователю URL-адрес в зависимости от ввода.

Например, если пользователь вводит «2», URL должен быть books/itemView?id=2

Я создал var = id , который принимает данные поля ввода поиска. Можно ли добавить эту переменную в мое текущее действие формы? Возможно, есть более эффективный способ?

Мой текущий код выглядит следующим образом.

 <form id="search" action="<?php echo URL; ?>books/itemView?id=" method="post"> <input type="text" name="search" id="demo"/> <input type="submit" value="Submit"> </form> 

Мой JS

 $(document).ready(function(){ var id = $('#search').val(); }); 

Совершенно новичок в JS, поэтому любая помощь оценивается.

JS должен быть

 $('#search').on('submit', function() { var id = $('#demo').val(); var formAction = $('#search').attr('action'); $('#search').attr('action', formAction + id); }); 

Если они вводят 2 в вход для поиска, ваш идентификатор будет добавлен к вашему URL-адресу:

 url?search=2 

Поэтому, возможно, вы хотите изменить имя вашего ввода поиска на id или добавить другое поле ввода.

 <form id="search" action="<?php echo URL; ?>books/itemView" method="post"> <input type="text" name="id" id="demo"/> <input type="submit" value="Submit"> </form> 

Это должно быть все, что вам нужно, не нужно jquery или javascript.

Когда вы отправляете, это должно привести к:

 books/itemView?id=2(or whatever is in the search/id input when you click submit) 

Хм, вы можете попробовать:

 $(document).ready(function(){ var $form = $('#search'); var id = $form.val(); var $search = $('#demo'); var originalAction = $search.attr('action'); $form.on('submit', function() { $search.attr('action', originalAction + id); }); }); 

Перед отправкой формы функция jQuery on('submit', handler) выполняет код в handler изменяя требуемое действие атрибута.

variableAction сохраняет содержимое атрибута action , частично сгенерированного в php, тогда вы добавляете свой id динамически созданный с помощью js.

Взгляните на функцию JQuery attr (), которая позволяет вам изменить атрибут элемента HTML.

Чтобы изменить действие формы, вы можете сделать что-то вроде

 $('#myForm').attr('action', 'myurl.php?viewItem=2'); 

Помогает ли это?