2013-04-16 2 views
26

Я хочу кнопку типа отправки, чтобы отправить запрос POST.Может ли кнопка html выполнить запрос POST?

Я имею в виду что-то вроде этого:

<form action = "" method = "post"> 
    <button>Upvote</button> 
<form> 

где строка «Upvote» будет отправлен в качестве имени в запросе POST.

Я знаю, что это не работает, и я знаю, что есть способы использования AJAX (javascript), но я довольно новичок в этой области. Мне просто интересно, возможно ли это вообще.

Update

Кто-то предположить, что использование <input> тега, я использовал его. Проблема в том, что он генерирует GET, а не POST.

+0

Это не помещает строку upvote на сервер, я считаю. Я попробую сейчас – dorafmon

+0

вам нужна поддержка js, такая как jquery $ .post – farmer1992

+0

вы можете использовать некоторые js для вызова submit из формы. – LtWorf

ответ

11
<form action = "" method = "post"> 
     <input type="submit" name="upvote" value="Upvote" /> 
    </form> 
2

Вы можете:

  • Либо использовать <input type="submit" ..>, вместо этой кнопки.
  • или, используйте немного javascript, чтобы удержать объект формы (используя имя или идентификатор) и вызвать на нем submit(..). Например: form.submit(). Прикрепите этот код к событию нажатия кнопки. Это будет сериализовать параметры формы и выполнить запрос GET или POST, как указано в атрибуте метода формы.
+0

с использованием ... будет генерировать запрос GET, а не POST ... Я тестировал его – dorafmon

+0

'' '

\t \t \t
' '' Код у меня есть – dorafmon

+0

В результате я получил '' 'http: //127.0.0.1: 8000/debate/00000001? upvote = Upvote''' – dorafmon

27

Вам необходимо указать кнопку и значение.

Никакой контроль не может быть отправлен без имени, а содержимое элемента кнопки - это метка, а не значение.

<form action="" method="post"> 
    <button name="foo" value="upvote">Upvote</button> 
</form> 
Смежные вопросы