2011-08-25 28 views
1

我需要与表单字段一起传递一个id e.g

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

此仅通过名称和值作为密钥=>值对。我需要保持名称(由用户动态输入)和值保留以备后用,但我还需要传递一个ID以及此var。

我该如何干净地做到这一点?我在想它的名称和做一个正则表达式来分隔它,例如

__field_name__ID 

虽然这看起来凌乱...

点考虑:

  • 有配发了由CMS(WordPress的),我惯于使用后产生的变量的
  • 名称必须与原始格式一起保留

回答

5

为什么不提交数据作为一个数组?

,而不是调用你的领域__field_name__id还是有些乱,使用设施PHP提供:打电话给你的输入字段field_name[id]当表单发送回服务器,PHP的$_POST阵列将有一个子阵列称为field_name其中包含了key =>你提到的值映射。

如果你想要绑定在一起的两个等领域,使用以下命令:

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

而就回传,PHP会为您提供一个$_POST['myFields']['id']$_POST['myFields']['name']

+0

完美的Meagar! –

+0

我一直在PHP开发多年,我意识到像这样的单维数组..但由于某种原因,我从来没有想过多元化的数组是可能的!大声笑 –

0

您可以添加一个包含输入字段名称值的隐藏字段。

<input type="text" name="field_1" /> 
<input type="hidden" name="field_1_name"/> 
0

您需要添加一个隐藏的表单字段,其中包含第一个字段的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单表单字段把id作为一个属性张贴。

<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是包含输入框的表单的名称。