Аякс отвечает слишком быстро? - PullRequest
0 голосов
/ 21 сентября 2010

У меня есть функция jquery, которая перехватывает функцию javascript при создании таблицы форм, но, кажется, она реагирует слишком быстро.

Моя вызываемая функция:

    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;
      }
  }

Есть что-нибудь, что я не включил должным образом?

Ответы [ 2 ]

1 голос
/ 21 сентября 2010

Действительно ли код AJAX поражает ваш веб-сервер?В журнале доступа появится сообщение о том, что это так и есть.Возможно, вам лучше использовать что-то вроде jquery или mootools, а не использовать собственный код для обработки AJAX.Они скрывают все придирчивые небольшие различия между браузерами и упрощают весь процесс работы с AJAX, а также способны обеспечить лучшую обратную связь в случае ошибки.

0 голосов
/ 21 сентября 2010

Можете ли вы опубликовать больше кода?например, откуда вы вызываете validateform () и когда вызывается ajax. Всегда полезно вызывать функции в порядке. Если вы хотите, чтобы ajax вызывался только после выполнения какой-либо функции, просто вызовите ajax в концефункция ..

Например ..

function your_normal_function()
{
 //function code;

 ajax_fun();
}


function ajax_fun()
{
  // ajax function code here

}


something.onmouseout = your_normal_function;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...