2

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

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

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

<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']预期包含默认的“公园大道”。

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

但是,如果我尝试通过删除所有文本来清除该值,则$_POST['q-2-Address']它不是空白的,实际上会返回包含最初设置的默认值“公园大道”。

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

如果没有进入像单个空间这样的东西,我看不到实际清除字段的方法。

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

TIA

麦克风

4

1 回答 1

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 代码拾取的默认文本。

这是占位符的外观的 jsfiddle。

http://jsfiddle.net/bfwst/

于 2012-12-01T14:26:15.890 回答