Установите переменную Javascript, чтобы ее можно было проверить с помощью функции onunload - PullRequest
0 голосов
/ 21 ноября 2011

У меня есть страница, которая показывает входящие запчасти, поэтому можно вводить серийные номера. У меня есть функция JQuery Ajax, которая обновляет базу данных и скрывает идентификатор строки, в которую вводится серийный номер. Здесь нет проблем.

Я также отправляю письмо при выгрузке, опять без проблем.

Что я хочу сделать, так это установить переменную в 1 после моей функции ajax, чтобы я мог видеть, что произошла поправка к акции, а затем в функции onload я могу видеть статус этой переменной и решить, следует ли отправлять электронное письмо.

мой набор, серийный номер:

function updateField(what) {
    serial = document.getElementById('serialno_' + what).value;
    po = document.getElementById('po_' + what).value;
    entry = what;
    if (serial != "") {
        $("#totalitems").load("stock_ajaxserial.php?id=" + entry + "&stock=" + serial + "&po=" + po);
        $("#tr_" + what).hide("slow");
    };
}

и мой onunload просто:

function SendEmail()
{
    $.get("stock_in_email.php?po=<?php echo $row_rs_po['entry']; ?>&id=<?php echo $row_rs_po['Order_id']; ?>");
} 

Ответы [ 2 ]

0 голосов
/ 21 ноября 2011

Вы можете установить глобальную переменную вне вашего кода и проверить его значение внутри. ИМХО не самый чистый способ делать то, что вам нужно, но я надеюсь, что это то, что вы хотите.

var ajaxReady = 0;
function updateField(what) {
    serial = document.getElementById('serialno_' + what).value;
    po = document.getElementById('po_' + what).value;
    entry = what;
    if (serial != "") {
        $("#totalitems").load("stock_ajaxserial.php?id=" + entry + "&stock=" + serial + "&po=" + po, function() {
            ajaxReady = 1;
        });
        $("#tr_" + what).hide("slow");
    };
}

и у вас onunload функция:

  function SendEmail()
  {
      if (ajaxReady) // ajax must be done to send e-mail
          $.get("stock_in_email.php?po=<?php echo $row_rs_po['entry']; ?>&id=<?php echo $row_rs_po['Order_id']; ?>");
  } 

Надеюсь, это поможет.

0 голосов
/ 21 ноября 2011

вы можете использовать куки для установки данных на unload и считывать данные во время onload позже

...