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

时间:2012-02-13 01:40:35

标签: php html ajax

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

<input id="place" name="place" type="text" value="(City, State or Zip Code)"

此特定输入位于搜索表单上。此输入以及其他输入将通过ajax传递到服务器。当结果到达服务器时,有一个名为“place”的post变量,如果用户未更改,则值为“(City,State或Zip Code)”。我想知道是否有一个前端解决方案,我可以轻松实现,以便如果默认文本没有更改(没有输入任何内容),服务器将看到此$ _post变量为空。我已经知道我可以检查服务器并查看

if $_post[place] == "(City, State or Zip Code)"
//place is empty, omit it from the search query

但如果有更好的方法,我正在寻找更好的方法。

您如何处理默认输入文本?

谢谢!

编辑:总结一下,如果用户没有更改,我正在寻找一种方法将此和其他输入传递给服务器为空。我想在服务器端不使用前面提到的if _ _post [place] ......,如果可能的话,也可以在客户端使用。

3 个答案:

答案 0 :(得分:1)

您应该使用占位符属性:http://www.w3schools.com/html5/att_input_placeholder.asp

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

答案 1 :(得分:0)

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

答案 2 :(得分:0)

Chris D。将您的问题回答 Kitsune ,如果您正在使用jQuery,则可以将data()的默认值存储在{ {1}}然后在发送请求时比较新数据与存储的数据 @valentinas click()仅在HTML5中受支持,因此可能不是他正在寻找的内容。

placeholder
相关问题