2012-04-09 2 views
0

Как связать ajaxStart/ajaxStop с формой?Как связать ajaxStart/ajaxStop с формой?

мне нужен загрузочный блок, чтобы показать во время загрузки файла

Теперь форма не представленный на всех

var iframe = $('<iframe name="iframe_file_upload" src="'+src_file_upload+'" style="display:none"></iframe>'); 
var btn_send = $('<input type="button" />') 
    .click(function(){ 
     $('#form_upload_file').bind('ajaxStart', function(){ 
      $(this).submit(); 
     }); 
     iframe.bind('ajaxStop', function(){ 
      $(this).load(function(){ 
       ... 

обновление

var btn_send = $('<input type="button" />') 
    .click(function(){ 
     $('#form_upload_file').ajaxForm(
      $('#form_upload_file').ajaxForm({ 
       success : function(response){ 
        // the response is a string?! how can the response be retrieved as an JSON object? 
        alert(response); 
       } 
      } 
     }).submit(); 
    }); 
+0

попробовать '$ (" # form_upload_file "). ajaxStart (function() { iframe.show(); });' – diEcho

+0

iframe должен оставаться скрытым .. файл загружается из iframe – clarkk

+0

, что вы хотите отобразить тогда? – diEcho

ответ

0
//initially hide your loading block 
$('#loadingblock').hide(); 

//submit form using ajax-request 
$('#yourform').submit(function(){ 
$.post('formhandle.php',$(this).serialize(),function(){alert('form submitted!')}); 
//prevent default submission 
return false; 
} 

//now the loader part 
$('#loadingblock').ajaxStart(function(){$(this).show();}) 
.ajaxStop(function(){$(this).hide();}); 
+0

, и если вы не захотите сделать это при отправке формы, измените событие submit на клик или что-то в этом роде. И вместо сериализации отправьте свои входные данные файла. –

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