0

熟悉以如下示例的形式创建文本字段:-

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 情况?

4

1 回答 1

0

最简单的方法是更改​​当前脚本的 if 语句,如下所示:

if((empty($vname) || trim(strtolower($vname)) == 'name')
|| (empty($vemail) || trim(strtolower($vemail)) == 'email') 
|| (empty($vphone) || trim(strtolower($vphone)) == 'phone'))

如果您对当前的脚本感到满意,那应该可以完成工作,但是总的来说,在验证方面您可以做得更好,因为它似乎很容易出错并且现在似乎对用户不友好-然后再一次是一个示例脚本,所以也许这是故意的。

无论如何,就像我说的那样,这将是您当前脚本的最简单方法,尽管无论如何都不是最好的方法。

于 2011-11-11T18:37:28.660 回答