该函数在加载ajax的页面中,但我正在尝试调用函数
代码:
[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();
}
});
[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 ) %>);
所以在ajax的loginpersonal.asp结尾...如果它做了它想做的事情......我正试图再次调用函数GetCount()。
答案 0 :(得分:0)
为安全起见,您无法调用ajax页面中包含的javascript。你需要调用外部javascript并将其评估到应用程序中。使用框架,许多框架会自动执行此操作。
答案 1 :(得分:0)
我不确定您使用的是哪个库,但我使用的HTML如下所示:
<div>
My markup
</div>
<script type="text/javascript">
(function ($) {
window.myFunction = function() {
alert("Running from ajax loaded file");
}
})(jQuery);
</script>
然后用jquery,我这样称呼它:
$("div#loadMe").load("/snippets/file.html", function(response, status, xhr){
if (status == "error") {
alert ("Error");
return;
}
// do stuff
window.myFunction();
});
当然,你可以使用你喜欢的任何库来进行ajax加载。我没有测试上面的代码,但它类似于我现在在生产中的代码。
我相信使用jquery,您必须加载ENTIRE文件,否则脚本将无法运行。如果仅定位文件中的某个元素,则不会加载或运行脚本。换句话说,您无法执行此操作:load("/snippets/file.html #container")
并运行脚本。
另外,我认为你必须在同一个网站才能工作,除非你使用jsonp加载。