当我编写我的第一个HTML和PHP表单时,我被告知,即使通过发送变量发送表单,仍然可以看到用户的输入,这是非常好的。所以我的第一个形式看起来是这样的:表单中的默认值和用户输入
<input type="text" name="name" value="<?php echo $name; ?>" />
我进行检查,如果有什么用户输入,如果有不显示的错误:
if (!empty($name)) {
$flag_name = TRUE;
}
else {
echo "Please fill in your name";
$flag_name = FALSE;
}
最近,我开始工作与JavaScript,我偶然发现了一个非常有用的代码片段,这使得有可能写入一个默认值的形式,当你点击它被清除。它看起来像这样,它很好用!
<input id="name" name="name" onblur="if (this.value=='') this.value='Name'" onfocus="if (this.value=='Name') this.value='';" type="text" value="Name" />
为了使它不可能为了人提交这些默认值,我改变了我的PHP检查,检查的默认值:
if (!empty($name) && $name != 'Name') {
$flag_name = TRUE;
}
else {
echo "Please fill in your name";
$flag_name = FALSE;
}
我仍然不是很满意我的新形式。如果您尝试使用默认值提交,您会收到一条错误消息 - 很好。但那你必须再次填写一切。
我想结合这与我第一次尝试,与变量之一。用户应该看到一个默认值,当他点击表单时会消失。在填补空白并点击提交之后,他们仍然应该能够看到他们写的内容。
这可能吗?
查看输入的“占位符”属性;它基本上会自动执行该行为,不需要JavaScript –
另外,花些时间研究jQuery验证来强制/验证用户输入可能是值得的。一旦提交,您就可以'回显'$ _POST'变量。 – JustBaron
试试这个 –