简体   繁体   中英

Ajax on facebox

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

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> 

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM