我有一个搜索表单,其中包含一些默认文本Type your search phrase here
,它当前作为查询字符串参数发送 - 生成的URL如下所示:
/search?KeyWords=Type+your+search+phrase+here
但是我想将它从查询字符串中删除。
我应该在什么时候删除它?我的意思是,我可以在控制器中检查字符串是否匹配,而不是将其用作搜索的关键字,但它仍然存在于URL中,理想情况下我希望将其完全删除以免引起任何混淆(加上它在URL中有默认短语看起来很糟糕!)。
答案 0 :(得分:1)
为文本输入字段设置默认值的语义正确方法是使用HTML5 placeholder属性,而不是设置value
属性:
@Html.TextBoxFor(x => x.Foo, new { placeholder = "Type your search phrase here" })
在这种情况下,提交表单时不会发送默认值。
如果您需要支持旧版浏览器,可以使用jquery.placeholder plugin,这将不引人注意地启用对它的支持。