2013-07-23 98 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();提交之前觸發。

相關問題