熟悉以此示例形式创建文本字段: -
Name :<input type="text" name="visitor" /><br /><br />
Email :<input type="text" name="visitormail" /><br /><br />
Phone :<input type="text" name="visitorphone"/><br /><br />
并验证与此类示例相同: -
$vname = $_GET["visitor"];
$vemail = $_GET["visitormail"];
$vphone = $_GET["visitorphone"];
// VALIDATION INTRODUCTION - THESE ARE THE FORM FIELDS THAT WE REQUIRED THE VISITOR TO FILL IN
if(empty($vname)
|| empty($vemail)
|| empty($vphone))
{
echo "<h2>Go Back and fill in all fields </h2>\n";
die ("Use the Go Back button !! ");
}
if(!$vemail == "" && (!strstr($vemail,"@") || !strstr($vemail,".")))
{
echo "<h2>Go Back and enter a valid E-mail Address</h2>\n";
die ("Use the Go Back button !!");
}
以上脚本有效....看到这张图片!
我的问题是???
使用onfocus文本字段创建表单时,如下例所示: -
<input type="text" name="visitor" value="NAME" size="23" onfocus="if (this.value == 'NAME') {this.value = '';}" onblur="if (this.value == '') {this.value = 'NAME';}">
....上述验证不再有效,因为文本字段中有已有条目!
上述验证是否可以用于新的onfocus情况?
答案 0 :(得分:0)
最简单的方法是更改当前脚本的if语句,如下所示:
if((empty($vname) || trim(strtolower($vname)) == 'name')
|| (empty($vemail) || trim(strtolower($vemail)) == 'email')
|| (empty($vphone) || trim(strtolower($vphone)) == 'phone'))
如果您对当前的脚本感到满意,那么应该完成工作,但是在您的验证方面,您可以做得更好,因为它看起来相当容易出错并且现在看起来不那么用户友好 - 然后它再次是一个示例脚本,所以也许这是故意的。
无论如何,就像我说的那样,这对你当前的剧本来说是最简单的方法,尽管不是最好的方式。