weixin_33736048 2018-03-24 09:32 采纳率: 0%
浏览 19

Facebox上的Ajax

I have a from in facebox modal (http://defunkt.io/facebox/ ) which it has an IDand I have a problem calling the selector/ID of the form.

Here are the code

=== index.php ===

<!DOCTYPE html>
<html>
      <head>
            <script src="jquery.js" type="text/javascript"></script>
            <link href="/facebox/facebox.css" media="screen" rel="stylesheet" type="text/css"/>
            <script src="/facebox/facebox.js" type="text/javascript"></script>
            $(document).ready(function() {
                  $('a[rel*=facebox]').facebox({
                        loadingImage : 'loading.gif',
                        closeImage   : 'closelabel.png'
                  });
                  $('#myform').submit(function(event) {
                        $.ajax({
                              type  : 'POST',
                              url   : 'process.php';
                              data  : {'name' : $('input[name=name]').val(),'email' : $('input[name=email]').val()},
                              success:function() {
                                   alert('success!');
                              },
                        });
                        event.preventDefault();
                  });
            }); 
      </head>
      <body>
            <a href="showform.php" rel="facebox">Show Form</a>
      </body>
</html>

==== showform.php ====

<form action="process.php" id="myform" method="post" accept-charset="utf-8">
<input type="text" name="name" placeholder="Your Name" >
<input type="email" name="email" placeholder="Your Email" >
</form>

Any help on that is very appreciated! Thanks

  • 写回答

1条回答 默认 最新

  • ??yy 2018-03-24 09:36
    关注

    You're trying to call an ID located in another page you cant do that your script interact only with the DOM loaded into your page , you need to move your from into index.php , also it should be url:'process.php',, not url : 'process.php'; , one more thing , you have no submit botton , here is a working example

    $('#myform').submit(function(event) {
            console.log("form submited")
                            $.ajax({
                                  type  : 'POST',
                                  url   : 'process.php',
                                  data  : {'name' : $('input[name=name]').val(),
                                           'email' : $('input[name=email]').val()
                                           },
                                  success:function() {
                                       alert('success!');
                                  },
                            });
                            event.preventDefault();
                      });
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
    <form action="process.php" id="myform" method="post" accept-charset="utf-8">
    <input type="text" name="name" placeholder="Your Name" >
    <input type="email" name="email" placeholder="Your Email" >
      <input type="submit" value="submit" />
    </form>

    </div>
    
    评论

报告相同问题?