【问题标题】:PHP post variables titlesPHP 发布变量标题
【发布时间】:2012-03-07 22:58:32
【问题描述】:

我想知道如何从表单发布字段数组中提取标题变量。

我知道 $_POST['name'] 是字段名称,但我可以执行类似 $_POST[title] 的操作来获取标题吗?

我问是因为我有一个可变长度的动态表单。动态是group_one包含5个字段,group_two包含12个字段,group_three包含2个字段。

我希望遍历这些组并将表单字段的标题发布到数据库中的列及其值。如果我可以在表单字段元素中使用“标题”变量,任何有助于理解的帮助。

<input type="radio" name="txtGroupOne[]" id="txtDogAtPremisesYes" value="Yes" title="Dog at premises" />Yes
<input type="radio" name="txtGroupOne[]" id="txtDogAtPremisesNo" value="No" title="Dog at premises" />No                               
<input type="text" name="txtGroupOne[]" id="txtNextOfKinName" title="Next of kin name" />                               
<input type="text" name="txtGroupOne[]" id="txtNextOfKinContact" title="Next of kin contact" />

【问题讨论】:

  • but can I do something like - 检查需要一分钟,提出问题并等待答案大约需要 5 分钟。为什么选择后者?
  • 我不太确定你的问题在问什么。示例表单 HTML 可能吗?
  • 如果您还没有阅读此页面,请先阅读此页面。它将让您更好地了解如何处理提交的 POST 变量:php.net/manual/en/language.variables.external.php
  • 我确实(大部分)了解 post 方法。我只是不确定“标题”是否可以使用,因为我从来不需要它。还是谢谢。
  • @zerkms - 对不起,第一行不应该是一个问题。问题更多的是:“是的,您可以在帖子中使用标题变量,这应该对您有所帮助”或“不,它无法完成”,在这种情况下,我将制定另一种方法。看起来没有 Javascript 是不行的

标签: php html


【解决方案1】:

不,默认情况下仅在 HTML 表单中发送 name="x" 属性。 title="x" 未发送。从技术上讲,你可以使用一些疯狂的 Javascript 和 Ajax POST 来解决它,但如果我是你,我会避免这样做。

您希望将标题发送到服务器端做什么?肯定有更好的选择来实现您的目标。

【讨论】:

  • 我正在使用 AJAX 执行帖子,所以也许我会将标题添加到序列化字符串中。谢谢
  • @KerePuki 好的,如果您已经使用带有序列化字符串的 ajax 提交表单,那么额外的工作应该不会太多。 IE。您可以在 Javascript 中使用 getAttribute('title') 获取 title,或者如果您已经在使用 jQuery,您可以使用 attr('title') 然后将其放入您的字符串中,或​​者如果可能的话,在它被序列化之前放入 Javascript 对象或数组中。
【解决方案2】:

您可以为每个需要将标题发送到服务器的字段添加隐藏字段。

<input type="radio" name="txtGroupOne[]" id="txtDogAtPremisesYes" value="Yes" />
<input type="hidden" name="txtGroupOneTitles[]" value="Dog at premises" >

<input type="radio" name="txtGroupOne[]" id="txtDogAtPremisesNo" value="No" />
<input type="hidden" name="txtGroupOneTitles[]" value="Dog at premises" >

<input type="text" name="txtGroupOne[]" id="txtNextOfKinName" />
<input type="hidden" name="txtGroupOneTitles[]" value="Next of kin name" >

<input type="text" name="txtGroupOne[]" id="txtNextOfKinContact" />
<input type="hidden" name="txtGroupOneTitles[]" value="Next of kin contact" >

【讨论】:

  • 看起来这是要走的路。谢谢
【解决方案3】:

你可以这样做:

foreach($_POST as $form_var){
    // Compile your code here, etc.
}

表单中没有“名称”属性的任何内容都不会成为 $_POST 数组的一部分。

即,

<input type='text' id='bar'>
<input type='text' name='foo' id='foo'>

只有 $_POST['foo'] 会存在。

稍微误读了这个问题,但您也可以在输入名称之前添加“组标题”,以便在生成时包含“组标题”。

<input type='text' name='title1_foo' id='title1_foo'>

然后你可以从 $_POST 循环中操作你想要的信息。

【讨论】:

    猜你喜欢
    • 2012-03-20
    • 1970-01-01
    • 1970-01-01
    • 2015-07-14
    • 1970-01-01
    • 1970-01-01
    • 2016-04-19
    • 1970-01-01
    相关资源
    最近更新 更多