Я не уверен, что это возможно, или если я делаю это неправильно?
У меня есть форма, которую при отправке отправляет пользователю 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');
Помогает ли это?