模态窗口中的jquery / php形式

I have a form in a modal window. When I submit the form through ajax I don't get the success message. My aim is to see the message created in the php file in the modal after submitting the form. Here is the code:

<p><a class='activate_modal' name='modal_window' href='#'>Sign Up</a></p>   
<div id='mask' class='close_modal'></div>

<div id='modal_window' class='modal_window'>
    <form name="field" method="post" id="form">
        <label for="username">Username:</label><br>
        <input name="username" id="username" type="text"/><span id="gif"><span>   
        <span id="user_error"></span><br><br>
        <label for="email">Email:</label><br>
        <input name="email" id="email" type="text"/><span id="gif3"></span>    
        <span id="email_error"></span><br><br>
        <input name="submit" type="submit" value="Register" id="submit"/>
    </form>
</div>

The modal.js

    $('.activate_modal').click(function(){

        var modal_id = $(this).attr('name');

        show_modal(modal_id);              
    });

    $('.close_modal').click(function(){

        close_modal();            
    });

$(document).keydown(function(e){

  if (e.keyCode == 27){  

  close_modal();
  }

    });


function close_modal(){       
    $('#mask').fadeOut(500);        
    $('.modal_window').fadeOut(500);    
}

function show_modal(modal_id){
    $('#mask').css({ 'display' : 'block', opacity : 0});
    $('#mask').fadeTo(500,0.7);
    $('#'+modal_id).fadeIn(500);

}

The test.js for the registration of the user

$(function() {
    $('#form').submit(function() {
    $.ajax({
       type: "POST",
       url: "test.php",
       data: $("#form").serialize(),
           success: function(data) {
       $('#form').replaceWith(data);
       }
           });
    }); 
});

And the PHP FILE

<?php

$mysqli = new mysqli('127.0.0.1', 'root', '', 'project');

    $username = $_POST['username'];
    $email = $_POST['email'];

$mysqli->query("INSERT INTO `project`.`registration` (`username`,`email`) VALUES ('$username','$email')");

$result = $mysqli->affected_rows;

if($result > 0) {
    echo 'Welcome';
} else {
    echo 'ERROR!';
}

?>

Try putting the returncode from your AJAX call into

$('#modal_window')

instead of in the form

$('#form')

BTW: Why not use the POST or GET method of jQuery? They're incredibly easy to use...

Try something like this. First write ajax code using jquery.

<script type="text/javascript">

function submitForm()
{

    var str = jQuery( "form" ).serialize();
       jQuery.ajax({
        type: "POST", 
        url:  '<?php echo BaseUrl()."myurl/"; ?>',
        data:  str,
        format: "json",
        success: function(data) {

            var obj =  JSON.parse(data);

            if( obj[0] === 'error')
            {

                 jQuery("#error").html(obj[1]);

             }else{

                    jQuery("#success").html(obj[1]);
                     setTimeout(function () {
                     jQuery.fancybox.close();
                 }, 2500);
                    }
        } 

      });    
}

</script>

while in php write code for error and success messages like this :

  if(//condition true){
                    echo json_encode(array("success"," successfully Done.."));

                }else{
                    echo json_encode(array("error","Some  error.."));
                }

Hopes this help you.