jquery提交ajaxSubmit()不起作用

时间:2014-02-20 06:58:38

标签: php jquery ajax cakephp jquery-forms-plugin

我遇到问题设置一个文件上传元素,其中cakePHP要在表单中使用,而ajaxSubmit()函数不会发送ajax请求..我的代码如下所示任何想法赞赏

同样在另一个元素中,我非常成功地使用.ajaxForm()方法上传文件。

  <script>
        $(document).ready(function() {

            var bar = $('.bar');
            var percent = $('.percent');
            var status = $('#status');

            $('#frmFileForm1').ajaxForm({
                url: 'http://up.dev/admin/pages/file',
                beforeSend: function() {
                    status.empty();
                    var percentVal = '0%';
                    bar.width(percentVal)
                    percent.html(percentVal);
                },
                uploadProgress: function(event, position, total, percentComplete) {
                    var percentVal = percentComplete + '%';
                    bar.width(percentVal)
                    percent.html(percentVal);
                },
                success: function() {
                    var percentVal = '100%';
                    bar.width(percentVal)
                    percent.html(percentVal);
                },
                complete: function(xhr) {
                    status.html(xhr.responseText);
                    reloadfilemanager();
                }
            });

                var options = {
                    url: 'http://up.dev/admin/pages/file',
                    iframe: true,
                    type: 'post',
                    target: '#status',
                    data: 'submitBtn'
                    }


             $('button').click(function() {
                $('#frmFileForm1').ajaxSubmit(options);
               alert("AA");
             });


        });

    </script>
<div>
        <?php

//<!-- form for uploading file -->

        echo $this->Form->button('Upload File', array( 'name' => 'submitBtn', 'class' => 'btn_submit', 'style' => 'margin-top: 5px; margin-bottom: 5px;', 'type' => 'submit'));
        ?>
    </div>

1 个答案:

答案 0 :(得分:0)

我认为你应该改变选择器:

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

改为:

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

由于您的按钮类型为type="submit",并且您的选择器定位到那里不可用的type="button",所以在我看来。


更新

而不是click按钮尝试使用submit事件:

var options = {
           url: 'http://up.dev/admin/pages/file',
           iframe: true,
           type: 'post',
           target: '#status',
           data: 'submitBtn'
         }; //<----add ; here not that much issue with this though


$('#frmFileForm1').submit(function(e) {
    e.preventDefault();
    $(this).ajaxSubmit(options);
    alert("AA");
});