Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/365.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 单击事件工作,但不将Window.onunload作为函数_Javascript_Php_Jquery - Fatal编程技术网

Javascript 单击事件工作,但不将Window.onunload作为函数

Javascript 单击事件工作,但不将Window.onunload作为函数,javascript,php,jquery,Javascript,Php,Jquery,因此,如果我从window.onunload切换并取消对#driver click事件的注释,那么这段代码完全可以工作。我可以看到它写入SQL数据库,并且在关闭窗口之前我已经对它进行了调试。经过调试并依赖于单击事件,它会遍历整个表单并提交我想要的信息。我已经检查了PHP代码,沿着SQL数据库的路径打印出格式正确的字符串 使用window.onunload的情况是,它进行同步提交,但不捕获任何表单元素。它提交的所有内容都是已定义的购物车数据 问题是,为什么从一个事件触发器切换到另一个事件触发器时,

因此,如果我从window.onunload切换并取消对#driver click事件的注释,那么这段代码完全可以工作。我可以看到它写入SQL数据库,并且在关闭窗口之前我已经对它进行了调试。经过调试并依赖于单击事件,它会遍历整个表单并提交我想要的信息。我已经检查了PHP代码,沿着SQL数据库的路径打印出格式正确的字符串

使用window.onunload的情况是,它进行同步提交,但不捕获任何表单元素。它提交的所有内容都是已定义的购物车数据

问题是,为什么从一个事件触发器切换到另一个事件触发器时,行为会如此不同

var formData = new Array();
var orderSubTotal ='46.15';
var orderTotal  ='46.15';
var numOfItems ='2';
var items =new Array('item1','item2');
var ids =new Array('id1','id2');
var codes =new Array('code1','code2');
var qtys =new Array('1','1');
var price =new Array('44.95','1.2');
var orderTax ='0';
var orderShipping ='0';
var appliedPromoIdList ='';
var coupon ='';
var storeId ='storeid';
var activeShipPromotionCount ='';
var itemImages  =new Array('image1','image2');

$(document).ready(function() {

//$("#driver").click(function() {
    function submitform(formData) {
    var formData = $("#testform :input[id!='card-type'][id!='paymentSelection_0']"+
    "[id!='ccSelectedRadio'][id!='card-number'][id!='card-exp-month'][id!='card-exp-year'][id!='card-cvv'][id!='billing-first-name']"+
    "[id!='billing-last-name'][id!='billing-company'][id!='billing-address1'][id!='billing-address2'][id!='billing-city']"+
    "[id!='billing-state'][id!='billing-zip'][id!='billing-phone'][id!='billing-country'][id!='useShippingRadio'][id!='useBillingRadio']"+
    "[id!='ppSelectedRadio'][name!='miscDS.shopperEmailAddress_ymixval'][name!='miscDS.shopperEmailAddress_ymixlabel']"+
    "[name!='miscDS.shopperEmailAddress_secname'][name!='paymentSelectionDS.paymentSelection_ROW0_paymentPPSelected']").serializeArray();
    var date=new Date();

    $.ajax(
        {
            url: 'jquery/process.php',
            data: {
            mydata: formData,
            orderSubTotal: orderSubTotal,
            orderTotal: orderTotal,
            numOfItems: numOfItems,
            items: items,
            ids: ids,
            codes: codes,
            qtys: qtys,
            price: price,
            orderTax: orderTax,
            orderShipping: orderShipping,
            appliedPromoIdList: appliedPromoIdList,
            coupon: coupon,
            storeId: storeId,
            activeShipPromotionCount: activeShipPromotionCount,
            itemImages: itemImages,
            date: date
            },
            async: false
        });
        return formData;
};
window.onunload(submitform());
});

添加括号将立即执行函数:

window.onunload(submitform());
你只需参考它:

window.onunload = submitform;

你所有的变量都在全局范围内,这个选择器太可怕了

添加括号会立即执行函数:

window.onunload(submitform());
你只需参考它:

window.onunload = submitform;

你所有的变量都在全局范围内,这个选择器太可怕了

添加括号会立即执行函数:

window.onunload(submitform());
你只需参考它:

window.onunload = submitform;

你所有的变量都在全局范围内,这个选择器太可怕了

添加括号会立即执行函数:

window.onunload(submitform());
你只需参考它:

window.onunload = submitform;

你所有的变量都在全局范围内,这个选择器太可怕了

嗯。。。这不是属性,不是函数吗?
window.onunload
?它不是一个函数,您已经更正了它。它是一个事件?->从(submitform())更改为=submitform导致没有数据发送到数据库。它可能是正确的,但现在我必须弄清楚它是否真的适用于我正在尝试做的事情,我只是把其余的代码弄错了,或者它是否不起作用,我需要做更多的研究。嗯。。。这不是属性,不是函数吗?
window.onunload
?它不是一个函数,您已经更正了它。它是一个事件?->从(submitform())更改为=submitform导致没有数据发送到数据库。它可能是正确的,但现在我必须弄清楚它是否真的适用于我正在尝试做的事情,我只是把其余的代码弄错了,或者它是否不起作用,我需要做更多的研究。嗯。。。这不是属性,不是函数吗?
window.onunload
?它不是一个函数,您已经更正了它。它是一个事件?->从(submitform())更改为=submitform导致没有数据发送到数据库。它可能是正确的,但现在我必须弄清楚它是否真的适用于我正在尝试做的事情,我只是把其余的代码弄错了,或者它是否不起作用,我需要做更多的研究。嗯。。。这不是属性,不是函数吗?
window.onunload
?它不是一个函数,您已经更正了它。它是一个事件?->从(submitform())更改为=submitform导致没有数据发送到数据库。它可能是正确的,但现在我必须弄清楚它是否真的适用于我正在尝试做的事情,我只是把其余的代码弄错了,或者它是否不起作用,我需要做更多的研究。