HTML + JQuery : ссылка, которая отправляет скрытую форму с POST.
Поскольку я потратил много времени, чтобы понять все эти ответы, и поскольку у всех них есть некоторые интересные детали, вот комбинированная версия, которая наконец-то сработала для меня и которую я предпочитаю за ее простоту.
Мой подход заключается в том, чтобы снова создать скрытую форму и отправить ее, нажав ссылку в другом месте на странице. Неважно, где в теле страницы будет размещена форма.
Код для формы:
<form id="myHiddenFormId" action="myAction.php" method="post" style="display: none">
<input type="hidden" name="myParameterName" value="myParameterValue">
</form>
Описание:
display: none
скрывает форму. Вы также можете поместить его в элемент div или другой элемент и установить display: none
для элемента.
type="hidden"
создаст файл, который не будет отображаться, но его данные будут также переданы действию ( см. W3C ). Я понимаю, что это самый простой тип ввода.
Код для ссылки:
<a href="" onclick="$('#myHiddenFormId').submit(); return false;" title="My link title">My link text</a>
Описание:
Пустое href
просто предназначено для той же страницы . Но в данном случае это не имеет значения, поскольку return false
не позволит браузеру перейти по ссылке. Вы можете изменить это поведение, конечно. В моем конкретном случае действие содержало перенаправление в конце.
onclick
использовался, чтобы избежать использования href="javascript:..."
в качестве , отмеченного mplungjan . $('#myHiddenFormId').submit();
был использован для отправки формы (вместо определения функции, так как код очень маленький).
Эта ссылка будет выглядеть точно так же, как и любой другой элемент <a>
. Вы можете использовать любой другой элемент вместо <a>
(например, <span>
или изображение).