Подтвердить что ты не робот

Как я могу отправить форму POST с помощью тега <a href= "https://stackoverflow.com/..." rel="nofollow noreferrer" >?

Как отправить форму POST на showMessage.jsp с помощью тега <a href="...">?

<form action="showMessage.jsp" method="post">
    <a href="showMessage.jsp"><%=n%></a>
    <input type="hidden" name="mess" value=<%=n%>/>
</form>
4b9b3361

Ответ 1

Нет необходимости в JavaScript, если вы используете кнопку:

<form action="your_url" method="post">
  <button type="submit" name="your_name" value="your_value" class="btn-link">Go</button>
</form>

Вы можете стиль кнопки, чтобы выглядеть как ссылка, например:

.btn-link{
  border:none;
  outline:none;
  background:none;
  cursor:pointer;
  color:#0000EE;
  padding:0;
  text-decoration:underline;
  font-family:inherit;
  font-size:inherit;
}

Ответ 2

Вам нужно использовать функцию Javascript submit на вашем объекте form. Посмотрите в других функциях.

<form action="showMessage.jsp" method="post">
    <a href="javascript:;" onclick="parentNode.submit();"><%=n%></a>
    <input type="hidden" name="mess" value=<%=n%>/>
</form>

Ответ 3

Для этого вам нужно использовать javascript.

<form id="form1" action="showMessage.jsp" method="post">
    <a href="javascript:;" onclick="document.getElementById('form1').submit();"><%=n%></a>
    <input type="hidden" name="mess" value=<%=n%>/>
</form>

Ответ 4

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

 <form action="/ControllerName/ActionName" method="post">
        <a href="javascript:;" onclick="parentNode.submit();"><%=n%></a>
        <input type="hidden" name="mess" value=<%=n%>/>
    </form>

Я просто просмотрел несколько примеров здесь и не видел, что MVC решил, что это не помешает опубликовать его.

Затем в вашем Action в контроллере я просто положил <HTTPPost> Наверху. Я верю, что если у вас нет <HTTPGET>, то он все равно будет работать, но явно помещать его там немного лучше.

Ответ 5

На самом деле не существует способа обмануть <a href= .. в методе POST. Однако, учитывая, что у вас есть доступ к CSS страницы, это можно заменить, используя форму.

К сожалению, очевидный способ простого стиля кнопки в CSS в качестве привязывающего тега не совместим с кросс-браузером, так как разные браузеры относятся к <button value= ... по-разному.

Incorrect:

<form action='actbusy.php' method='post'>
  <button type='submit' name='parameter' value='One'>Two</button>
</form>

В приведенном выше примере будет отображаться параметр "Два" и "Передача": один "в FireFox, в то время как он отобразит" Один "и передаст также" параметр: один "в IE8.

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

<form action='actbusy.php' method='post'>
   <input class=hidden name='parameter' value='blaah'>
   <button type='submit' name='delete' value='Delete'>Delete</button>
</form>

Обратите внимание, что этот метод имеет побочный эффект, который помимо параметра: blaah также будет доставлять "delete: Delete" в качестве избыточных параметров в POST.

Вы хотите сохранить для кнопки атрибут value и метку кнопки между тегами одинаковыми ( "Удалить" в этом случае), поскольку (как указано выше) некоторые браузеры будут отображать один, а некоторые отображают другой как ярлык кнопки.