设置一个Javascript变量,以便可以通过onunload函数进行检查

时间:2011-11-21 10:57:37

标签: javascript jquery onunload

我有一个显示收货库存零件的页面,因此可以输入序列号。我有一个JQuery Ajax函数,它更新数据库并隐藏行号,输入序列号。这里没问题。

我还发送了一封关于卸载的电子邮件,同样没问题。

我想做的是在我的ajax函数之后将变量设置为1,这样我就可以看到库存有一个修正,然后在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 :(得分:0)

您可以使用Cookie在unload上设置数据,并在onload之后读取数据

答案 1 :(得分:0)

您可以在代码外部设置全局变量并检查其内部值。恕我直言不是最干净的做你需要的方式,但我希望这是你想要的。

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']; ?>");
  } 

希望它有所帮助。