1

我正在使用 jQuery 提交一个表单,但是当我使用 JavaScript 时,它被提交了,但是通过 jQuery 它没有提交。

这是我的表单代码:

<form method="post" id="uploadfrm" action="<?php echo site_url('filemanager/upload'); ?>" enctype="multipart/form-data" >
<div class="up_wraper">Click here to Select a File </div>
<input type="file" name="upload[]" id="upload" multiple="multiple" /> </form>   

jQuery代码:

<script type="text/javascript">
   $(document).ready( function() {
       $("#upload").change( function() { 
        var value=$("#foo").val();
        var file=$("#upload").val();
        var arr = value.split("_");
        var id = arr[1];
        var type = arr[0];

        if(type!='folder'){
            alert('Select a folder to upload files..!');
            }
          else{
                 $("#foo").val(id);
                 $('#uploadfrm').submit( function(event) {
                 event.preventDefault();

                 });

            }
       });
   });
</script>

当我在其他条件下使用时:

document.forms["uploadfrm"].submit();

它提交成功。

但我想使用 jQuery usingpreventDefault()方法提交它。

4

2 回答 2

1

在你的代码中,你有这个......

$('#uploadfrm').submit( function(event) {
    event.preventDefault();
});

第二行,event.preventDefault();停止表单提交。如果您删除它,它将提交罚款。就这样做...

$('#uploadfrm').submit();
于 2013-07-23T10:47:49.743 回答
0

你不需要 event.preventDefault(); 简单 $('#uploadfrm').submit();触发表单提交。但是,如果您想在提交之前处理一些验证,您可以添加另一个 $.submit(); 在您的提交触发之前。

    $('#uploadfrm').submit(function(){
      //your code goes here. 
     //return false; //if you want to break submission on failed validation, or if you want to use ajax callback
     //return true; // if you want to submit with regular form request. 
    });

   //this line bellow goes in your conditional, while upper one goes out of your $('#upload').change(); //event
   $('#uploadfrm').submit();
于 2013-07-23T11:14:00.700 回答