2016-04-12 19 views
0

I Inhalts über Ajax ist Laden bekommen, um einen div, habe ich 3 Seiten:Javascript auf der Hauptseite nicht im dynamisch geladenen Inhalt Arbeits

Index dynamische Inhalte über Ajax geladen javascript.js

Jetzt

wenn ich lade Daten in den Index über:

$.ajax({ 
    url: target, 
    type: 'GET', 
}).done(function(data) 
{ 
    $(".modal-content").html($(data).find('.inner_modal')); 
    $(".modal-header").prepend('<button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>'); 
}); 
}); 

die Javascript nicht auf es funktioniert, obwohl ich auf dem Hauptindex die JavaScript-Datei bin auch.

ich wie so verbindlich versucht haben:

$(function() 
{ 
    $('.inner_modal').on("submit", "#account-login-form", function() 
    { 
     $('.ajloading').show(); 
     $.ajax({ 
      url: $(this).attr('action'), 
      type: $(this).attr('method'), 
      dataType: 'json', 
      data: $(this).serialize(), 
      success: function(data) 
      { 
       if(!data.success) 
       { 
        $('#error_message').html(data.error + alert_close).show(); 
       }else{ 
        <?php if(Session::get('refer') == true && Session::get('refer') != 'user/logout'): ?> 
         window.location.href = '<?php echo Config::get('URL'); ?><?php echo System::escape(Session::get('refer')); ?>'; 
        <?php else: ?> 
         window.location.href = '<?php echo Config::get('URL'); ?>dashboard'; 
        <?php endif; ?> 
       } 
       $('.ajloading').hide(); 
      }, error: function(data) 
      { 
       $('.ajloading').hide(); 
      } 
     }); 
     return false; 
    }); 
}); 

Ich habe es wie so versucht:

$(document).on("submit", "#account-login-form", function() 

ich es auch ohne

Jetzt versucht haben

, wenn ich die unclude Javscript-Datei innerhalb der dynamisch geladenen Inhalt funktioniert es, aber ich kann das nicht für jede Datei, und es würde Bläh mein Scri pt, so wie kann ich dieses Problem beheben, so dass die dynamischen Inhalte mit meiner Haupt-js Datei funktioniert .... Hier ist, wie ich es tun:

<body> 
    <div class="modal-content"> 
     <!-- dynamic content loaded !--> 
    </div> 
</body> 

<script> 
    $.ajax({ 
     url: target, 
     type: 'GET', 
    }).done(function(data) 
     { 
      $(".modal-content").html($(data).find('.inner_modal')); 
      $(".modal-header").prepend('<button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>'); 
     }); 
    }); 
</script> 
<script src="myjs.js"></script> 
</html> 
+1

Was meinst du mit "nicht funktioniert" - ist das Code-Rendering auf der Seite und nicht "feuern" - oder wird es nicht auf der Seite gerendert? Erhalten Sie irgendwelche Fehler in der Konsole? Siehe auch diese vorherige Antwort: http://stackoverflow.com/questions/3619484/can-i-add-javascript-dynamical-to-an-existing-script-element –

+0

Was ist mit "defering" dein Skript? [async vs defer] (http://www.growingwiththeweb.com/2014/02/async-vs-de-fer-attributes.html) – Anthony

+0

@timster es feuert nicht, aber es ist in der Fußzeile meines Hauptskriptes, also ist es dort und keine Konsolenfehler. –

Antwort

0

Ich denke, Ihr Problem ist, dass ‚Senden‘ werde kein Ereignis, das sprudelt. Sie sollten dem Formular direkt nach dem Laden über AJax einen Click-Handler zuweisen.

Verwandte Themen