2013-07-23 97 views
1

我使用jQuery提交表单,但是当我使用JavaScript时,它被提交,但通过jQuery它没有提交。jquery使用.submit()表单不提交

这里是我的表单代码:

<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使用preventDefault()方法提交它。

+2

所以你想提交一个表单,但阻止它提交? – BenM

+0

为什么你想event.preventDefault();它阻止从表单提交 –

+0

通过使用防止默认表单提交,但它不刷新浏览器窗口.. –

回答

1

在你的代码有这个...

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

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

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

通过使用preventdefault窗体提交,但它不刷新浏览器窗口.. –

+0

@ saqlain786咦?并非如此。 'preventDefault'完全像它在锡上说的那样。事件仍然发生,但表单不提交。不要让他们感到困惑。 – BenM

+0

@ BenM嗯..我只是想..等一下。 –

0

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

相关问题