Buzztomi
Buzztomi

Reputation: 1

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

Upvotes: 0

Views: 202

Answers (1)

Abslen Char
Abslen Char

Reputation: 3135

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>

Upvotes: 0

Related Questions