简单的Javascript验证 - 不起作用

时间:2015-10-23 10:41:51

标签: javascript

我一直坚持这个问题的时间超过了我想要的这么简单的事情,为什么预期的验证不起作用?

if(isset($_POST['submit'])){

    /* Posted Values from Initial Form */
    $descEmail = $_POST['email'];
    $uniqueID = $_POST['name'];

    /* Check to see if the Email Provided is already in use */
    $result = mysql_query("SELECT * FROM Table WHERE Email = '$descEmail'");
    if(mysql_num_rows($result) == 0) {
        echo 'success';
    } else {
        echo '<script type="text/javascript"> emailInvalid() </script>';
    }       
}

Javascript:

<script type="text/javascript">

function emailInvalid(){
    document.getElementById('UserEmail').style.borderColor='#CC0033';
    document.getElementById('UserEmail').style.border='solid';
    document.getElementById('UserEmail').style.borderWidth='2px';
    document.getElementById("formErrors").innerHTML = "The Email Address: <?php echo $UserEmail ?> has already been used, Please Use a Different Email Address.";
}

</script>

相关表单字段:(表单按预期工作)

<div>
    <label for="email">Email</label>
    <input type="email" id="UserEmail" name="email">
</div>

1 个答案:

答案 0 :(得分:0)

  

未捕获的ReferenceError:emailInvalid

您似乎已在之后的emailInvalid元素中定义了<script> 您尝试调用该函数的元素(可能在另一个页面上的一个元素中) )。

在功能存在之前,您无法调用该功能。更改代码的顺序,以便在尝试调用

之前将函数声明为