Php 如何处理预填充的文本框(带有默认描述性文本的文本框)客户端?

Php 如何处理预填充的文本框(带有默认描述性文本的文本框)客户端?,php,html,ajax,Php,Html,Ajax,我正在使用一个表单,前端开发人员在文本框中有默认文本。例如,邮政编码输入框没有标签,但是框中有预先填充的文本。下面是一个输入示例 <input id="place" name="place" type="text" value="(City, State or Zip Code)" 但我正在寻找一个更好的方法,如果有更好的方法存在的话 如何处理默认输入文本 谢谢 编辑:总而言之,我正在寻找一种方法,如果用户未更改这些输入和其他输入,则将它们作为空白输入传递给服务器。我想不使用前面提到的i

我正在使用一个表单,前端开发人员在文本框中有默认文本。例如,邮政编码输入框没有标签,但是框中有预先填充的文本。下面是一个输入示例

<input id="place" name="place" type="text" value="(City, State or Zip Code)"
但我正在寻找一个更好的方法,如果有更好的方法存在的话

如何处理默认输入文本

谢谢


编辑:总而言之,我正在寻找一种方法,如果用户未更改这些输入和其他输入,则将它们作为空白输入传递给服务器。我想不使用前面提到的if$_post[place]……就可以做到这一点。。。。。。在服务器端,如果可能的话,还可以在客户端。

您可以让JavaScript(在浏览器中运行)将当前值与默认值进行比较。如果是默认值,则不要让Ajax在请求中传递该特定变量。

您应该使用占位符属性:

这将显示占位符值,但不会将其发送到服务器。
如果您愿意,可以让较旧的浏览器优雅地降级为空输入或退回到JS(如何检查它是否受支持:)。

Chris D.要回答您对Kitsune的问题,如果您使用的是jQuery,您可以将默认值存储在
单击()
然后在发送请求时将新数据与存储的数据进行比较。
@valentinas
占位符
仅在HTML5中受支持,因此它可能不是他想要的

$('input').click(function(){ $(this).data('default', $(this).val()); });

// On your request
if ($('input').val() === $('input').data('default')) {}

太快了!我补充了一点问题,所以你可能还没有看到。是否存在检查当前值==默认值的方法?我可以在服务器端进行检查,如果没有其他方法,我可能会这样做。谢谢如果需要,可以通过以下方法为旧浏览器添加回退:。感谢您的回复。我不是一个前端的家伙,但占位符听起来像是一个可能的答案。但是,你是说这可能不适用于所有浏览器(我已经知道它不适用于IE,我甚至还没有测试过它:p)。我真的很想做占位符的事情,但我不想遇到错误如果你不使用polyfill,那么不支持
占位符的浏览器将不会显示任何内容,如果
具有足够的描述性,这并不是什么大问题。
$('input').click(function(){ $(this).data('default', $(this).val()); });

// On your request
if ($('input').val() === $('input').data('default')) {}