空白输入字段在$ _POST中提供以前的默认值

时间:2012-12-01 14:18:34

标签: php

我是新来的,所以希望我尊重这个协议; - )

这是一个简单的问题,由于某些原因我无法解决。

我有一个带有post动作调用php文件的表单,以及几个设置了默认值的文本输入字段。例如:

<form class="form-horizontal" method="post" action="profile.php">
<input type="text" class="input-xlarge" id="q-2-Address" name="q-2-Address" value="Park Avenue">
<button type="submit" class="btn btn-primary">Save changes</button>
</form>

如果我提交的表单保持默认值不变,$_POST['q-2-Address']会按预期包含默认的“Park Avenue”。

如果我尝试更改输入文本字段中的值(例如:“麦迪逊大道”),我可以看到$_POST['q-2-Address']中的结果设置为“麦迪逊大道”,正如预期的那样。

但是如果我尝试通过删除所有文本来清除值,$_POST['q-2-Address']不是空白,实际上又回到包含最初设置为“Park Avenue”的默认值。

因此,如果我想通过用空格替换先前填充的字段来更新表单,这似乎是不可能的,也不可能检测到该字段已被清除。我尝试使用empty()进行测试,但当然它会给出错误的结果,$_POST包含默认值,因此即使文本字段为空也不为空。

如果我没有进入像单个空间这样的东西,我认为没办法实际清理一个字段。

这是一件微不足道的事情,但也许有人会对此有所了解。

TIA

麦克

1 个答案:

答案 0 :(得分:0)

您可以使用占位符...

,而不是在表单中使用默认值
<form class="form-horizontal" method="post" action="profile.php">
<input type="text" class="input-xlarge" id="q-2-Address" name="q-2-Address" placeholder="e.g. Park Avenue">
<button type="submit" class="btn btn-primary">Save changes</button>
</form>

这样,您可以举例说明您希望在该特定输入框中拥有的内容,而无需使用将由php代码获取的默认文本。

这里是占位符的样子。

http://jsfiddle.net/bfwst/