несколько входов с одинаковым именем в форме html

#python #html

#python #HTML

Вопрос:

У меня есть некоторый html-код, который содержит форму. При отправке он отправляет post-запрос на сервер. Форма имеет различные входы, каждый с именем и значением, однако есть несколько входов с одинаковым именем.

Вот пример того, что я имею в виду:

 <form action="http://example.com" method="post">
    <input name="name" value="val">
    <input name="name" value="val">
    <input type="submit">
</form>
 

Во-первых, я не понимаю, как могут быть два значения с одинаковым именем. Пожалуйста, обратите внимание, что я попытался удалить один из экземпляров <input name="name" value="val"> , однако это возвращает ошибку, поэтому кажется, что необходимы оба экземпляра.

Во-вторых, я пытаюсь преобразовать это в запрос python, используя библиотеку запросов.

У меня есть следующий запрос:

 requests.get(url = URL, params = PARAMS).json()
 

Где PARAMS — это словарь различных входных данных. Например:

 PARAMS = {'name':"val"}
 

Однако, будучи словарем, я не могу иметь несколько экземпляров одного и того же значения. Как мне заставить это работать? Спасибо

Ответ №1:

Если есть дублирующиеся имена, то значения будут в массиве с именем. Приведенная ниже демонстрация отправляется на тестовый сервер в реальном времени, и ответ направляется на <iframe>

 <form action="https://httpbin.org/post" method="post" target="response">
  <input name="name" value="val">
  <input name="name" value="val">
  <input type="submit">
</form>

<iframe name='response'></iframe> 

Ответ №2:

То, что вы ищете, — это использовать входные массивы. С их помощью у вас может быть много входов с одинаковым именем, а на стороне сервера данные будут обрабатываться как массив. Таким образом, HTML будет:

 <form action="http://example.com" method="post">
    <input name="name[]" value="val1">
    <input name="name[]" value="val2">
    <input type="submit">
</form>