I am using the bootstrap modal to popup a form that uploads a file
using the jquery.upload plugin.

1.When I popup the modal (#photoModal) and submit the form, the 1st
time:

a) the file is uploaded server side
b) the javascript code successfully hides the modal (#photoModal) and
appends the filename to a div (#media_gallery)

2. When I popup the modal a 2nd time, without reloading the underlying
page, and upload another file:

a) the file is uploaded server side
b) the javascript code is NOT executed, thus the modal stays open and
the filename is not appended to the div (#media_gallery)

Any ideas what I am doing wrong?

Thanks.


<head>
        ...
        <script src="/initializr/js/libs/modernizr-2.5-
respond-1.1.0.min.js"></script>
        <script src="//ajax.googleapis.com/ajax/libs/jquery/1.7.1/
jquery.min.js"></script>
        <script>window.jQuery || document.write('<script src="/initializr/js/
libs/jquery-1.7.1.min.js"><\/script>')</script>

        <script src="/initializr/js/libs/bootstrap/collapse.js"></script>
        <script src="/initializr/js/libs/bootstrap/dropdown.js"></script>
        <script src="/initializr/js/libs/bootstrap/modal.js"></script>
        <script src="/includes/js/bootstrap-datepicker.js"></script>
        <script src="/includes/js/jquery.upload-1.0.2.min.js"></script>
        <script src="/includes/js/jquery-ui-1.8.20.custom.min.js"></script>
        <script>


                /* datepicker */
                $(function(){
                        ...
                });



                $(function() {

                        /* jquery.upload */
                        $('#photoModal .btn-primary').click(function() {

                                
$('#fields').upload('/upload.php',function(response) {


                                        if(response.status == "success") {

                                                
$('#media_gallery').append(response.message);
                                                $('#media_upload')[0].reset();
                                                $('#photoModal').modal('hide');
                                                
$("#media_gallery").effect("highlight", {}, 12000);

                                        }
                                        else {
                                                alert(response.status + ' -> ' 
+ response.message );
                                        }
                                }, 'json');



                        });
                });


        </script>
</head>

<body>

        <form action='/save_post.php' method='post'>
                <div class='control-group'>
                        <label>Body</label>
                        <textarea id='body' class='input-xlarge span7' 
rows='12'></
textarea>
                        <p class='help-block'>Minimum of 150 words is 
required</p>
                </div>

                <div class='control-group'>
                        <label>Media Gallery</label>
                        <div class='btn-group'>
                          <button class='btn btn-info' data-toggle='modal' data-
target='#photoModal'><i class='icon-plus-sign icon-white'></i> Photo</
button>
                          <button class='btn btn-info' data-toggle='modal' data-
target='#videoModal'><i class='icon-plus-sign icon-white'></i> Video</
button>
                        </div>
                </div>

                <div id='media_gallery'>

                </div>

                <div class='align-right' style='margin-top: 32px;'>
                        <input class='btn-large btn-primary' type='submit' 
value='Save
Changes' name='submit'>
                </div>
        </form>

        <form id='media_upload' method='POST' enctype='multipart/form-data'>
                <div class='modal hide' id='photoModal'>
                        <div class='modal-header'>
                                <button class='close' 
data-dismiss='modal'>×</button>
                                <h3>Add Photo to Media Gallery</h3>
                        </div>
                        <div id='fields'>
                                <div class='modal-body content-inner'>
                                        <div class='control-group'>
                                                <label>Image File:</label>
                                                <input type='file' 
name='filename' id='filename' />
                                                <p class='help-block'>5 
Megabytes Maximum File Size</p>
                                        </div>

                                        <div class='control-group'>
                                                <label>Caption:</label>
                                                <textarea class='input-xlarge 
span4' rows='2' name='caption'
id='caption'></textarea>
                                                <p class='help-block'>200 
Characters Maximum</p>
                                        </div>

                                        <input type='hidden' name='existing' 
value='0' />
                                        <input type='hidden' name='file_type' 
value='image' />
                                </div>
                                <div class='modal-footer'>
                                        <input type='submit' name='submit' 
class='btn btn-primary'
value='Upload Attachment'>
                                </div>
                        </div>
                </div>
        </form>

</body>

Reply via email to