我有一个联系页面,我在浏览名称*字段作为5个字符的PHP时遇到问题,因为我通过在文本区域中放置Name *来节省我的网页空间。我在google上进行了研究,但我找不到任何代码来帮助忽略这些字符。我的PHP发布在下面。
if(!$name || strlen($name) < 5) {
$error .= "Please enter your name.<br />";
}
所以我遇到的问题很可能是有人有一个3个字母的名字。
答案 0 :(得分:4)
这是一个提示:不要。使用真实标签,不要只是在文本框中转储默认文本。此外,它如何节省空间?
<input type="text" name="name" value="Name*" />
Name*: <input type="text" name="name" />
没有意义。
如果必须,只需在其中添加|| $name == "Name*"
。
答案 1 :(得分:3)
您可以使用:
<input type="text" name="name" value="" placeholder="Name*" />
除了IE的旧版本http://www.w3schools.com/html5/att_input_placeholder.asp
之外,大多数浏览器都不支持此功能更好的参考网站 - http://caniuse.com/input-placeholder(thnx Celeritas)
答案 2 :(得分:0)
如果你真的想这样做以节省布局空间,你可以尝试这样的方法来清除对焦场时字段中的默认值。
<input type="text" onfocus="if(this.value == 'value') { this.value = ''; }" value="value" />
答案 3 :(得分:0)
您可以使用substr跳过前5个字符。
假设您使用POST传递表单数据
$name = substr($POST['name'], 5)
Kolink是对的,我看不出这是如何节省空间的,只是在文本框之外的正确名称*。如果你真的想把它放在盒子里,你可以使用JavaScript在点击它时清除它。
答案 4 :(得分:0)
正如Kolink所说,您可以在|| $name == "Name*"
声明中添加if
。
否则,这更像是客户端问题。如果你使用的是JQuery,你可以这样做:
$('#name').attr("is_focused",0);
$('#name').focus(function(){
if($(this).attr("is_focused")==0){
$(this).val("");
$(this).attr("is_focused",1);
}
});
然后,当用户提交表单时,请执行以下检查:
if($('#name').attr("is_focused")==0){
alert('You must enter your name');
return;
}