2010-05-28 5 views
0

la fonction est dans la page de chargement de la ajax mais je suis en train d'appeler la fonctioncomment utiliser js fonction de ajax chargé?

codes:

[ajax]

$.ajax({ 
type: "POST", 
url: "loginpersonal.asp", 
data: "id=<%=request("id")%>", 
beforeSend: function() { 
    $("#personaltab").hide(); 
}, 
success: function(msg){ 
    $("#personaltab").empty().append(msg); 
}, 
complete: function() { 
    $("#personaltab").slideDown(); 
}, 
error: function() { 
    $("#personaltab").append("error").slideDown(); 
} 
}); 

[la fonction js]

function GetCount(t){ 
    if(t>0) { 
     total = t 
    } 
    else { 
     total -=1; 
    } 
    amount=total; 
              if(amount < 0){ 
     startpersonalbid(); 
    } 
    else{ 
     days=0;hours=0;mins=0;secs=0;out=""; 
     days=Math.floor(amount/86400);//days 
     amount=amount%86400; 
     hours=Math.floor(amount/3600);//hours 
     amount=amount%3600; 
     mins=Math.floor(amount/60);//minutes 
     amount=amount%60; 

     secs=Math.floor(amount);//seconds 
     if(days != 0){out += days +":";} 
     if(days != 0 || hours != 0){out += hours +":";} 
     if(days != 0 || hours != 0 || mins != 0){out += ((mins>=10)?mins:"0"+mins) +":";} 
     out += ((secs>=10)?secs:"0"+secs) ; 
     document.getElementById('countbox').innerHTML=out; 
     setTimeout("GetCount()", 1000); 
    } 
} 
window.onload=function(){ 
GetCount(<%= DateDiff("s", Now,privatesellstartdate&" "&privatesellstarttime) %>); 

donc à la fin du loginpersonal.asp de l'ajax ... s'il fait ce qu'il supposait faire ... j'essaie d'appeler à nouveau la fonction GetCount().

+1

Comment est ce que vous chargez le script? Est-ce que vous «évaluez» ou injectez un «

0

Je ne suis pas sûr de ce que la bibliothèque que vous utilisez, mais j'utiliser le HTML comme ce qui suit:

<div> 
    My markup 
</div> 

<script type="text/javascript"> 

(function ($) { 
    window.myFunction = function() { 
     alert("Running from ajax loaded file"); 
    } 
})(jQuery); 

</script> 

Et puis avec jquery, je l'appelle comme ceci:

$("div#loadMe").load("/snippets/file.html", function(response, status, xhr){ 
    if (status == "error") { 
    alert ("Error"); 
    return; 
    } 
    // do stuff 
    window.myFunction(); 
}); 

Bien sûr , vous pouvez utiliser n'importe quelle bibliothèque que vous aimez faire le chargement ajax. Je n'ai pas testé le code ci-dessus, mais il est similaire au code que j'ai en production maintenant.

Je crois qu'avec jquery, vous devez charger le fichier ENTIER, sinon les scripts ne seront pas exécutés. Si vous ciblez juste un certain élément dans un fichier, les scripts ne sont pas chargés ou exécutés. En d'autres termes, vous ne pouvez pas faire ceci: load("/snippets/file.html #container") et faites exécuter vos scripts.

Aussi, je pense que vous devez être sur le même site pour que cela fonctionne, sauf si vous chargez en utilisant jsonp.

Questions connexes