jquery使用.submit()表单不提交

时间:2013-07-23 10:43:33

标签: php javascript jquery codeigniter

我正在使用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();

它成功提交。

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

2 个答案:

答案 0 :(得分:1)

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

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

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

$('#uploadfrm').submit();

答案 1 :(得分: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();