使用.submit()表单的jquery未提交

jquery using .submit() form not submitting

本文关键字:jquery 提交 表单 submit 使用      更新时间:2023-09-26

我使用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提交它。

在您的代码中,您有。。。

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

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

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

您不需要event.prventDefault();简单的$('#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();