2010-09-21 53 views
0

我有一个jQuery的函数,当我的表格表被创建时挂钩了一个javascript函数,只是它似乎响应得太快了。Ajax响应太快?

我被调用的函数是:

function ValidateForm(CQID) 
    { 

var dt=document.newDate.txtDate; 

if (isDate(dt.value)==false){ 
    dt.focus(); 
    return false; 
} 

    populateDateTable(dt.value, CQID); 
    } 

此功能只当我添加一个空警报(“”);最后,否则它会通过并不提交ajax请求。

在我的populateDateTable()函数中,我包含了适当的就绪状态条件。

xmlhttp.onreadystatechange=function() 
    { 
    if (xmlhttp.readyState==4 && xmlhttp.status==200) 
     { 
     document.getElementById("BoxCarCapacityDates").innerHTML= xmlhttp.responseText; 
     } 
    } 

有什么我没有包括正确的?

回答

0

你能发表更多的代码吗?就像从你调用validateform()的地方和调用ajax的地方一样。它总是按顺序调用函数。如果你希望只有在某个函数被执行后调用ajax,只需在ajax结尾处调用ajax功能..

例如..

function your_normal_function() 
{ 
//function code; 

ajax_fun(); 
} 


function ajax_fun() 
{ 
    // ajax function code here 

} 


something.onmouseout = your_normal_function; 
1

是Ajax代码实际上打你的Web服务器?如果是,访问日志中会有一个显示它确实存在的问题。你最好使用类似jquery或mootools的东西,而不是滚动你自己的AJAX处理代码。它们隐藏了浏览器之间所有挑剔的差异,简化了整个AJAX体验,并且还可以在发生错误时提供更好的反馈。