Передача дополнительных данных в $ _POST vars - PullRequest
1 голос
/ 25 августа 2011

Мне нужно передать идентификатор вместе с полем формы, например,

<input name="__field_name" value="1234" />

это только передает имя и значение как пара ключ => значение. мне нужно сохранить имя (динамически вводимое пользователем) и значение без изменений для последующего использования, но мне также нужно передать идентификатор вместе с этой переменной.

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

__field_name__ID  

хотя это кажется грязным ...

очков для рассмотрения:

  • есть множество переменных post, сгенерированных CMS (wordpress), которые я не буду использовать
  • имя должно быть сохранено в оригинальном формате вместе со значением

Ответы [ 3 ]

5 голосов
/ 25 августа 2011

Почему бы не отправить данные в виде массива?

Вместо вызова вашего поля __field_name__id или какого-либо беспорядка, используйте средства, предоставляемые PHP: Вызовите поле ввода field_name[id] и когда форма будет отправлена ​​обратнона сервере массив PHP $_POST будет иметь подмассив с именем field_name, который содержит соответствия ключей => значений, о которых вы упомянули.

Если у вас есть два таких поля, которые вы хотите связать вместе,используйте следующее:

<input type="text" name="myFields[id]" />
<input type="text" name="myFields[name]" />

А при обратной передаче PHP предоставит вам $_POST['myFields']['id'] и $_POST['myFields']['name'].

0 голосов
/ 25 августа 2011

Вам необходимо добавить скрытое поле формы, которое содержит Id первого поля.Вы можете назвать его как field1_ID или как-то еще.

<input type="text" name="first_field" value="As_Entered_By_User"/>
<input type="hidden" name="first_field_id" value="id_first_field"/>

Или, если вы знакомы с Javascript, вы можете опубликовать его, используя javascript с одним полем формы, указав идентификатор в качестве атрибута.

<input type="text" name="first_field" id="first_field_id" value="as_enteredBy_user"/>
<script>var id_to_post=document.form1.first_field.id;</script>

здесь form1 - это имя формы, содержащей поле ввода.

0 голосов
/ 25 августа 2011

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

<input type="text" name="field_1" />
<input type="hidden" name="field_1_name"/>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...