2014-02-17 3 views
0

Я попытался сделать загрузку ajax, и я не хочу делать кнопку отправки. просто дайте пользователю при выборе файла сделать auto submit ..ajax загрузить файл после выбора файла auto submit

Я пробовал использовать change() для получения данных смены формы, но после второго щелчка он будет предупреждать не один раз. Я не знаю, почему, есть ли лучшая идея, чтобы заставить его работать!

HTML

<div class="article-create"> 
    <table class="table"> 
     <td> 
      <form action="" enctype="multipart/form-data" method="post"> 
       <input type="file" name="image" class="browseimage"> 
      </form> 
      <li class="browseimage-fake btn btn-success btn-sm">Choose File</li> 

JS

$('.article-create .table').on('click', '.browseimage-fake', function() { 
    $(this).closest('td').find('.browseimage').click(); 

    $(this).closest('td').find('.browseimage').change(function(){ 
     alert('change'); 

     // check FormData and ajax .. 
    }); 
}); 
+0

Чтобы уточнить, вы хотите отправить форму и загрузить файл сразу после его выбора. Это верно? –

+0

Спасибо за ответ. да, это то, что я хочу! но я застрял в триггерном предупреждении слишком много времени. –

ответ

1

Попробуйте этот код. Бдительные звонки только один раз:

$(document).on('change', '.browseimage', function(){ 
    alert('change'); 
    // check FormData and ajax .. 
}); 

http://jsfiddle.net/E9mPw/20/

+0

'$ ('. article-create .table'). on ('click', '.browseimage-fake', function() {\t \t $ (this) .closest ('td'). find ('.browseimage'). click(); $ (this) .closest ('td'). on ('change', '.browseimage', function() { \t \t предупреждение ('изменение'); \t \t \t}); \t \t}); ' –

+0

это еще предупреждение не только один раз ?? –

+0

user1575921, в вашем коде вы дважды вызываете внутреннюю функцию, поэтому у вас есть 2 предупреждения – melvas

0

простая функция изменения Jquery.

$(".browseimage-fake").change(function() { 
console.log("changed") 
}); 
+0

вот что я сделал в своем вопросе! моя проблема заключается в том, что console.log не просто один раз с моим кодом –

0

Этот код работает для меня, но только тогда, когда у меня был правильный URL для атрибута formaction.

<script> 
    $(".browseimage").change(function() { 
     document.forms[0].submit(); 
    }); 
</script> 
Смежные вопросы