2013-07-23 3 views
1

Я представляю форму, используя jQuery, но когда я использую JavaScript, она отправляется, но через jQuery она не отправляется.jquery using .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

С помощью формы preventdefault submit, но не обновляет окно браузера. –

ответ

1

В своем коде вы имеете это ...

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

2-я линия, event.preventDefault();, останавливает форму отправляет. Если вы удалите его, он будет подавать штраф. Просто сделайте это ...

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

С помощью формы preventdefault отправляется, но не обновляет окно браузера. –

+0

@ saqlain786 Huh? Это не так. 'preventDefault' делает именно то, что он говорит на олове. Событие по-прежнему происходит, но форма не отправляется. Не путайте их. – BenM

+0

@ BenM hmmm..ok Я просто пытаюсь ... Подождите. –

0

Вам не нужен event.preventDefault(); Простой $('#uploadfrm').submit(); триггеров формы представления. Однако, если вы хотите обработать некоторые валидации перед отправкой, вы можете добавить еще $ .submit(); перед запуском вашего сообщения.

Смежные вопросы