如何从禁用字段中取值来插入?

时间:2011-05-22 00:18:37

标签: php

我有一个表单,其中包含已禁用的输入字段,但它保留了值。

我如何接受变量并插入。我试过了:

   $value1 = $_POST['test'];

3 个答案:

答案 0 :(得分:13)

你做不到。禁用的字段不会发布到您的服务器。只读字段,所以如果您确实需要该字段的内容,您可以将其更改为只读而不是禁用。

答案 1 :(得分:2)

你不能

您可以做的最好的事情是使用某种default value

function post( $fieldName, $default = '' )
{
   if( !isset( $_POST[ $fieldName ] ) )
   {
      return $default;
   }
   else
   {
      return $_POST[ $fieldName ];
   }
}

$value1 = post('test', '0');

或者@Arjan说,将表单更改为readonly

<input type='text' name='test' readonly="readonly" />

答案 2 :(得分:1)

这就是disabled属性的工作原理。禁用表单控件后,在提交表单时将忽略该值,并且该密钥将不会出现在$_POST(或$_GET)中。

如果您希望该值存在于提交的数据中,但您不希望用户能够更改页面上的值(我想象的是您要实现的目标),请使用{{1而不是readonly="readonly"

修改

disabled="disabled"元素没有<select>属性。上述信息仍然有效,因为适用于readonly<input> s。

此处问题的解决方案是禁用选择并使用隐藏输入将值发送回服务器 - 例如

启用选择时:

<textarea>

......当它被禁用时:

<select class="txtbx1" name="country">
  <!-- options here -->
</select>

但主要的是当我更改选择字段时如何设置这些隐藏字段。以及如何设置提交表单时间。 ?