Php Jquery没有验证我的表单

Php Jquery没有验证我的表单,php,jquery,Php,Jquery,我想使用jquery验证我的表单。字段“name1”是必需的,字段“email”也是必需的,并且应该是电子邮件格式。我遵循了教程,但我无法让它工作。我怎样才能修好它 先谢谢你 我的代码: <html> <head> <script src="/webvanta/js/jquery/1.4/jquery-1.4.2.min.js" type="text/javascript"></script> <script

我想使用jquery验证我的表单。字段“name1”是必需的,字段“email”也是必需的,并且应该是电子邮件格式。我遵循了教程,但我无法让它工作。我怎样才能修好它

先谢谢你

我的代码:

     <html>
        <head>
   <script src="/webvanta/js/jquery/1.4/jquery-1.4.2.min.js" type="text/javascript"></script>
<script src="/webvanta/js/jquery/1.4/plugins/form/jquery.form.js" type="text/javascript"></script>
<script src="/webvanta/js/jquery/1.4/plugins/validate/jquery.validate.min.js" type="text/javascript"></script>
        </head>
        <body>
        <script type="text/javascript">
          $(document).ready(function() {
           $("#myform").validate({
           rules: {
             name1: "required",
             email: {
               required: true,
               email: true
             }
           },
           messages: {
             name1: "Please specify your name",
             email: {
               required: "We need your email address to contact you",
               email: "Your email address must be in the format of name@domain.com"
             }
           }
        })
        });

        </script>

        <?php include 'header.php'; ?>

        <form id = "myform" action="picture.php" method="get">
        Picture name: <input name="name1" class="required"   /><br>
        Email: <input name="email" class="required"  />

        <input type="submit" value="Click" />
        </form>
        <br>




        </body>
        </html> 

请确保使用最新版本的库尝试代码。旧库和旧插件可能包含很多错误,并且不符合要求。

请确保使用最新版本的库尝试代码。旧库和旧插件可能包含很多bug,并且不兼容。

首先,我自己从未使用过这个函数,所以我不确定您提供的方法是否有效。但是,这不是jQuery文档中描述的方式。正如@Tim所建议的,首先切换到最新的jQuery版本,然后按照本文档页面中的描述继续尝试:


话虽如此,您仍然需要添加服务器端验证,因此我将继续使用ajax和来自php文件或类似文件的服务器端验证。然后,服务器端验证和客户端验证将使用相同的方法。但是,如果不使用数据库层,服务器端验证可能会做得过火。

首先,我自己从未使用过此函数,因此我不确定您提供的方法是否有效。但是,这不是jQuery文档中描述的方式。正如@Tim所建议的,首先切换到最新的jQuery版本,然后按照本文档页面中的描述继续尝试:


话虽如此,您仍然需要添加服务器端验证,因此我将继续使用ajax和来自php文件或类似文件的服务器端验证。然后,服务器端验证和客户端验证将使用相同的方法。但是,如果您没有使用数据库层,服务器端验证可能会做得过火。

一个非常简单的ajax示例:

   $("#submit").click( function() { 

    var str = $("#your-form").serialize();


    $.ajax({
      type: "POST",
      url: "url-to-your-file.php",
      data: str,
      success: function(msg) {

          if(msg=="1") {//let's say 1 means error, do stuff here}
          if(success=="0){//success, do stuff here}
          }
    });


    });

在php文件中检查并验证输入。如果可以,则返回0,否则返回1-作为一个示例,使其在这里非常简单。

一个非常简单的ajax示例:

   $("#submit").click( function() { 

    var str = $("#your-form").serialize();


    $.ajax({
      type: "POST",
      url: "url-to-your-file.php",
      data: str,
      success: function(msg) {

          if(msg=="1") {//let's say 1 means error, do stuff here}
          if(success=="0){//success, do stuff here}
          }
    });


    });

在php文件中检查并验证输入。如果可以的话,可以使用echo 0,否则使用echo 1-这里只是一个简单的例子。

考虑使用较新/最新版本的jQuery。1.4.2大约有2.5年的历史了。实际上它不是一个通知,它是代码不工作的原因。我刚刚用最新的jQuery和最新版本的validation plugin检查了代码——它可以工作。我建议你用php检查字段,而不是用js。序列化表单,使用ajax将数据发送到php文件,并让php对其进行验证。然后,用Ajax再次接收PHP文件的答案,如果有一些……可以考虑使用JQuery的最新/最新版本来显示错误。1.4.2大约有2.5年的历史了。实际上它不是一个通知,它是代码不工作的原因。我刚刚用最新的jQuery和最新版本的validation plugin检查了代码——它可以工作。我建议你用php检查字段,而不是用js。序列化表单,使用ajax将数据发送到php文件,并让php对其进行验证。然后用Ajax再次接收PHP文件的答案,如果有的话,可以显示错误…谢谢克里斯,我会考虑在将来使用它。谢谢克里斯,我以后会考虑使用这个。