简单的jQuery代码在服务器上不起作用,但在本地工作

时间:2013-02-24 21:03:33

标签: jquery validation

我很难弄清楚出了什么问题。基本上我想要的消息“谢谢你注册!”在他们输入有效的电子邮件时淡入,并显示“请确保您的电子邮件输入正确”。当他们输入无效的电子邮件时淡入。

在我的HTML中,我有这个:

<div id="signUp">
    <form action="" method="post" id="signup">
        <input type="text" class="left" id="email" name="email" placeholder="Enter your email address" value="">
        <input type="submit" id="notify-me" class="button" value="Sign me up!">    
    </form>
</div>
<br>
<p class="hidden">Thank you for signing up!</p>

这是我的jquery:

$(document).ready(function() {
    // all jQuery code goes here
    $(".hidden").hide();
    $("form").submit(function() {
        var emailReg = /^([\w-\.]+@([\w-]+\.)+[\w-]{2,4})?$/;
        if(emailReg.test($("input:first").val()) && $("input:first").val() != "")
        {
            $(".hidden").text("Thank you for signing up!").fadeIn(1000);
            var dataString = "email=" + $("input:first").val();
             $.ajax({
               type: "POST",
               url: "write.php",
               data: dataString,
               success: function() {
                    $("input:first").val("");
                    return false;
                 }
             });
        }
        else
        {
            $(".hidden").text("Please make sure your email was entered correctly.").fadeIn(500);
        }
        return false;
    });
});

2 个答案:

答案 0 :(得分:0)

从服务器运行时,可能未加载jQuery库。确保正确链接到它。

如果是这种情况,您可以通过将此行添加到页面<head>

来修复此问题
<script src="http://code.jquery.com/jquery-1.9.1.min.js"></script>

答案 1 :(得分:0)

您的问题不在您提供的内容之外。你在这里拥有的一切都很完美。

可能的情景:

  1. jQuery未包含在服务器上。
  2. 在javascript中的其他地方解析错误。
  3. 任何一个都应该根据错误控制台轻松诊断出来。